客户端 Socket.io 断开连接并持续重新连接到 websocket
Client Socket.io disconnects and reconnects to websocket persistently
我通过 Socket.io 1.3.4(通过 websockets)连接到 NodeJS 服务器和客户端 socket.io 触发 "disconnect" 事件 5-30 秒。
每次 "disconnect"->"reconnecting"->"reconnect" 迭代需要大约。 2秒。我通过电缆连接到非常稳定的网络。服务器托管在 AWS 上。
有时我的 Wi-Fi 连接不好,但根本没有 "disconnect" 事件触发。
如何调试这个问题?
我如何才能看出谁是有罪的 - 服务器还是客户端?
socket.io如何理解是时候断开连接了?从他们的代码中无法理解这一点。
编辑。 Socket.io 配置:
io = require('socket.io')(server, {
log: false
, "close timeout": 60
, "heartbeat timeout": 60
, "heartbeat interval": 20
})
我在 node 前面的 nginx 运行 也有类似的问题,这是因为 proxy_read_timeout
和 proxy_send_timeout
设置得太低了。 Socket.io 每 25 秒发送一次心跳,因此请确保将这些超时设置为大于 25 秒。
我通过 Socket.io 1.3.4(通过 websockets)连接到 NodeJS 服务器和客户端 socket.io 触发 "disconnect" 事件 5-30 秒。
每次 "disconnect"->"reconnecting"->"reconnect" 迭代需要大约。 2秒。我通过电缆连接到非常稳定的网络。服务器托管在 AWS 上。
有时我的 Wi-Fi 连接不好,但根本没有 "disconnect" 事件触发。
如何调试这个问题?
我如何才能看出谁是有罪的 - 服务器还是客户端?
socket.io如何理解是时候断开连接了?从他们的代码中无法理解这一点。
编辑。 Socket.io 配置:
io = require('socket.io')(server, {
log: false
, "close timeout": 60
, "heartbeat timeout": 60
, "heartbeat interval": 20
})
我在 node 前面的 nginx 运行 也有类似的问题,这是因为 proxy_read_timeout
和 proxy_send_timeout
设置得太低了。 Socket.io 每 25 秒发送一次心跳,因此请确保将这些超时设置为大于 25 秒。