我通过Socket.io 1.3.4(通过websockets)连接到NodeJS服务器和客户端socket.io激活“disconnect”事件5-30秒。
每次“断开” - >“重新连接” - >“重新连接”迭代需要大约。 2秒。我通过电缆连接到相当稳定的网络。服务器托管在AWS上。
有时我的Wi-Fi连接不好,但根本没有“断开连接”事件。
如何调试此问题?
我怎样才能看到谁有罪 - 服务器或客户端?
socket.io如何理解是时候断开连接了?无法从他们的代码中理解这一点。
修改即可。 Socket.io config:
io = require('socket.io')(server, {
log: false
, "close timeout": 60
, "heartbeat timeout": 60
, "heartbeat interval": 20
})
答案 0 :(得分:1)
我在节点前运行的nginx遇到了类似的问题,原因是proxy_read_timeout
和proxy_send_timeout
设置得太低了。 Socket.io每25秒发送一次心跳,因此请确保将这些超时设置为大于25秒的时间。