gpt4 book ai didi

Node.js 网络服务器未接收到某些客户端断开连接

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:56 24 4
gpt4 key购买 nike

我有一个正在运行的 Node.js 网络套接字服务器,它可以在连接到它的客户端数量较少的情况下正常工作。当我将数量增加到 200 个客户端连接时,所有初始连接都会建立并正确通信,但是当我按 Ctrl-C 关闭客户端程序时,服务器上只会收到一些断开连接(通过错误:读取 ECONNRESET 消息) )。

我正在监听事件:关闭、超时、断开连接、错误和结束我还检查数据事件是否收到长度为0的数据,但这种情况永远不会触发。

当同时存在大量断开连接时,错误/断开连接事件有时似乎不会触发。

服务器和客户端运行时没有收到任何异常或错误;两者都是 Node.js。

netstat -i 显示客户端上的所有连接均已终止

lsof -i 显示服务器上仍建立许多连接

(来自 lsof 的服务器上的连接保持打开状态的示例)

Node 5569 root 18u IPv4 4236971 0t0 TCP xxx.xxx.xxx.xxx:2048->xxxxxx.hsd1.ca.comcast.net:12501(已建立)

还有其他人遇到过这个吗?

最佳答案

您应该考虑合并某种特殊的 ping/keepalive 消息,客户端和服务器都会定期发送该消息,以更准确/快速地检查两端的死套接字。

关于Node.js 网络服务器未接收到某些客户端断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25777929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com