Socket.io每隔5分钟断开连接



在Chrome中,Socket IO似乎停止了数据传输。这有内部原因吗?

我尝试过一个非常简单的客户端和简单的服务器端,但服务器在5分钟后始终停止接收任何发射,然后重新连接,再过5分钟就可以了。

在内部ping机制之上,我有一个轮询机制,它每20秒发送一次会话数据。

我没有在NodeJS或Socket.io中使用WebSocket,但在Jetty中也经历了同样的行为。事实证明,对于所有WebSocket的会话,Jetty的空闲超时默认为5分钟(或300秒)。您可以将默认的空闲超时值更改为适当的值,或者在超时之前乒乓这些连接。

在我的情况下,我决定使用乒乓球,因为它也有助于确定何时不再存在连接。我观察到,在某些情况下,即使网络关闭,连接也不会关闭。

根据engine.io(由socket.io使用)文档,服务器的默认pingInterval似乎为25秒。因此,除非您无意中禁用或更改了默认选项,否则乒乓机制应该是适当的。

最新更新