Socket.io与服务器的连接有时无效

时间:2013-11-22 11:59:34

标签: node.js socket.io vps

我已经在VPS 上设置了一个带有socket.io的 Node.JS服务器,并且我每隔10秒就将连接的客户端数量广播到所有服务器。这通常工作正常,但有时连接无法建立,我得到这个错误(我改变了一点IP):

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

重新加载网站后,通常可以建立连接,虽然我不知道为什么首先发生连接失败,我也不知道如何调试socket.io代码。有时我不能再连接到服务器了,我必须重新启动服务器。

其他信息:

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

1 个答案:

答案 0 :(得分:3)

在top命令之后,尝试:

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,但如果您的服务器无法分配足够的资源,您可以尝试另一种速度较慢但使用较少资源的传输

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