Подтвердить что ты не робот

Node.js Socket.IO клиент 'необработанный socket.io url'

Я пытаюсь, чтобы клиент node.js общался с сервером node.js, используя Socket.IO, в соответствии с документацией это должно быть довольно легко, но я просто получаю сообщение "info - unhandled socket.io url" on сервер, когда клиент пытается подключиться к серверу. Вот очень простой пример из корня:


в каталоге я установил необходимые модули Socket.IO, используя:

npm install socket.io socket.io-client

в файле servernode.js я поставил:

var app = require('http').createServer(), io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
   console.log('connected');
});
app.listen(60000);

в другом файле clientnode.js я ставлю:

var socket = require('socket.io-client')('http://localhost:60000');
socket.on('connect', function(){
     console.log('socket connected.');
});

в двух терминалах, которые я положил

node servernode.js

а также

node clientnode.js

Тогда на сервере я получаю это сообщение повторно до бесконечности:

 info - unhandled socket.io url

Я искал это сообщение и из того, что мог собрать, он был связан с различиями между версиями, но я полагаю, что npm имеет эти модули, синхронизированы, нет? В отчаянии я также попытался получить файл с серверного модуля в './node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js' (и используя.connect - как-то в этой версии это необходимо), но затем я получаю еще одну ошибку:

/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:1877
var port = global.location.port ||
                          ^
TypeError: Cannot read property 'port' of undefined
at Socket.isXDomain (/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:1877:31)
at Socket.handshake (/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:1627:14)
at Socket.connect (/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:1699:10)
at new Socket (/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:1551:12)
at Object.io.connect (/home/work/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js:94:16)
at Object.<anonymous> (/home/work/testnode2.js:1:160)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

Может ли кто-нибудь помочь мне с этим?

4b9b3361

Ответ 1

Попробуйте использовать более новую версию socket.io, это сработало для меня.

npm install [email protected]