Я пытаюсь продвинуть данные из своего браузера (Chrome) к nodejs серверу, и я испытываю ужасные затруднения.
В основном у меня есть этот код, который появляется в браузере:
Единственное предупреждение это появляется, является 'близким' предупреждением.
Вот мой серверный код:
var http=require('http');
var io=require('./Socket.IO-node');
var server=http.createServer(function(req, res){
// your normal server code
res.writeHeader(200, {'Content-Type': 'text/html'});
res.writeBody('Hello world
');
res.finish();
});
var socket=io.listen(server,{transports:websocket,port:8080});
socket.on('connection',function(client){
console.log('connection');
});
Вы видите, что я пытаюсь зарегистрировать соединения с консолью, но ничто никогда не обнаруживается. Я гуглил и пытался работать через Сокет. Примеры IO по http://github.com/LearnBoost/Socket.IO-node и ничто, кажется, не работает на меня...
Любые указатели очень ценятся.
Править: Привет,
У меня есть следующий серверный код теперь:
var http=require('http');
var io=require('./Socket.IO-node');
var server=http.createServer(function(req, res){
//your normal server code
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello world');
res.end();
});
server.listen(8124);
server=io.listen(server);
server.on('connection', function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientConnect',function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientDisconnect',function(client){
console.log('EOH disconnected');
sys.log('EOH disconnected');
});
И следующий клиентский код:
Когда я загружаю клиентский код в localhost:8124, я ожидал бы, что будут запущены своего рода 'clientConnect' события. Я также отправляю данные по объекту сокета и нет ничего появляющегося на сервере... Полностью озадаченный. Рассмотрение использования node-websocket-server теперь (http://github.com/miksago/node-websocket-server).
Решение: клон мерзавца git://github.com/LearnBoost/Socket. IO.git - рекурсивный
Используйте - рекурсивный флаг. Doh!
Это проблема Chrome: Node.js, проблема с расположением WebSocket?
этот код работает у меня:
var server = http.createServer(...);
server.listen(8124);
server = io.listen(server);
server.on('connection', function(client){
sys.log('client connected');
});
а затем на клиенте:
io.setPath('/media/js/Socket.IO/');
socket = new io.Socket('localhost', {'port': 8124});
socket.connect();
Может быть, явный параметр порта поможет в вашем случае?