Node.js Socket.IO客户端'未处理的socket.io url'

我试图让一个node.js客户端与使用Socket.IO的一个node.js服务器进行通信,根据文档,这应该是非常容易的,但是我只是得到一个消息“信息 – 未处理的socket.io url”服务器每当客户端尝试连接到服务器时。 这里是一个非常基础的例子:


在一个目录中,我使用以下方法安装了必要的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.'); }); 

在两个terminal我放

 node servernode.js 

 node clientnode.js 

然后在服务器上,我得到这个消息重复无限:

  info - unhandled socket.io url 

我已经search了这条消息,从我可以收集的内容来看,它与版本之间的差异有关,但是我想npm会将这些模块同步,不是吗? 无奈之下,我也尝试从服务器模块'./node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js'(并使用。连接 – 不知何故在这个版本中,它是必要的)但是我又得到另一个错误:

 /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) 

任何人都可以帮我解决这个问题吗?

尝试使用更新版本的socket.io,它为我工作。

 npm install socket.io@1.0