与服务器的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']);