与服务器的Socket.io连接有时不起作用

我已经在VPS上用socket.io设置了一个Node.JS服务器,并且每隔10秒向所有连接的客户端传播一次。 这通常工作正常,虽然时常,连接不能build立,我得到这个错误(我改变了IP一点):

GET http://166.0.0.55:8177/socket.io/1/?t=1385120872574 

重新加载站点后,通常可以build立连接,但我不知道为什么失败的连接首先发生,我也不知道如何debuggingsocket.io代码。 有时我无法连接到服务器了,我不得不重新启动服务器。

附加信息:

  • 我的主站点运行在与Node.js服务器不同的服务器上(使用CakePHP的LAMP环境)。
  • 我永远使用运行服务器
  • 我有很多关联的客户(大约1000)
  • 我的VPS有512 MB内存,CPU从不高于25%

在顶层命令之后,尝试:

 socket.on('error', function (err) { console.log("Socket.IO Error"); console.log(err.stack); // this is changed from your code in last comment }); 

另外,你可以尝试慢一点的运输。 Socket.io在默认情况下使用Websocket,但是如果你的服务器不能分配足够的资源,你可以尝试另外一种传输速度较慢但占用较less的资源

 io = socketIo.listen(80); io.set('transports', ['xhr-polling']);