当前位置: 首页 > 知识库问答 >
问题:

当客户端由于网络错误而断开连接时,Socket.io服务器不会终止tcp连接

栾峰
2023-03-14
socket.io:client client close with reason ping timeout
socket.io:socket closing socket - reason ping timeout
socket.io:client ignoring remove for WX-M8GL6SvkQtxXMAAAA
node      29881 user   14u  IPv4 38563924      0t0  TCP 10.5.7.33:5100->10.5.6.50:49649 (ESTABLISHED)
node      29881 user   15u  IPv4 38563929      0t0  TCP 10.5.7.33:5100->10.5.6.50:49653 (ESTABLISHED)
node      29881 user   16u  IPv4 38563937      0t0  TCP 10.5.7.33:5100->10.5.6.60:49659 (ESTABLISHED)

共有1个答案

孟晋
2023-03-14

我找到解决办法了!根据这个问题,SocketIO中有一个bug在1.4.x版本中得到了修复:

https://github.com/socketio/socket.io/issues/2118

我已经升级到V1.4.5并且在SocketIO连接关闭后TCP连接现在已经正确关闭。

 类似资料:
  • 我在google cloud中创建了一个google cloud函数,它将连接到我在google cloud中创建的postgresql实例。 我正在使用'pg'节点模块。 我已经为此创建了一个私有IP。 我收到以下错误: 错误:由于在timeout.ConnectionTimeouthAndle.SetTimeout(/workspace/node_modules/pg/lib/client.j

  • 我正在用Java编写一个简单的TCP客户机/服务器程序对,如果客户机在10秒内还没有发送任何东西,服务器必须断开连接。socket.setsoTimeout()使我得到了这一点,服务器就可以很好地断开连接。问题是--我如何让客户端确定服务器是否关闭?目前,我使用DataOutputStream向服务器写入数据,这里的一些答案表明,向封闭套接字写入数据将引发IOException,但这不会发生。 编

  • 问题内容: 我有一个使用xhr作为唯一传输的socket.io连接。当我在浏览器中加载应用程序(经过chrome和ff测试)时,套接字可以连接,并且一切正常,直到我离开页面为止。如果重新加载浏览器,则可以看到客户端发出了“断开连接”事件,但是服务器断开连接事件在很长一段时间内不会触发(可能是客户端心跳超时)。这是一个问题,因为当客户端断开连接时,我会在服务器中进行一些清理工作。如果客户端重新加载,

  • 我正在使用C#window应用程序表单对TCP多线程服务器进行工作,我正在尝试检测客户端的机器是否关闭并断开与服务器的连接。看了一些帖子,有了一些想法: 如何确定tcp是否连接? 我的代码如下: 多谢帮忙。

  • 真的需要你帮忙。 我的项目是通过电缆连接两台PC机,并使用tcp套接字将客户端文本框形式的字符串发送到服务器。问题是ATI只能发送一个字符串,然后连接就会关闭。 注意:某个端口上的连接将在表单加载中建立并成功。

  • 问题内容: 我使用和创建一个实时Web应用程序。我将为用户提供对套接字连接的完全控制,例如手动断开连接和(重新)连接。 在客户端启动时,该功能可以正常运行,但是在使用之后,不会启动新连接。 问题答案: 现在可以使用socket.socket.reconnect() 相关:https : //github.com/LearnBoost/socket.io- client/issues/251