gpt4 book ai didi

linux 不检测死的 tcp 连接

转载 作者:可可西里 更新时间:2023-11-01 02:37:13 25 4
gpt4 key购买 nike

重新启动我的服务器端应用程序后,我的客户端操作系统没有检测到无效的 TCP 连接。僵尸连接将保持已建立状态,永远不会被操作系统关闭。有人对此有任何想法吗?

这是端口 9888 上的服务器端连接: enter image description here

这是客户端到服务器的连接: enter image description here

我的操作系统的一些信息: enter image description here

最佳答案

您可能希望使用 TCP 保持事件机制来检测已死亡的对等点。正如评论中正确提到的那样,您需要使用 setsockopt 函数调用 set following socket options,

SO_KEEPALIVE - 启用/禁用 TCP 保活机制

TCP_KEEPIDLE - TCP 开始发送保活探测后的空闲时间(以秒为单位)

TCP_KEEPCNT - TCP 在断开连接之前应发送的最大保持事件探测数

TCP_KEEPINTVL - 各个保活探测之​​间的时间(以秒为单位)

例如,如果您设置理想时间 = 60 秒,cnt = 5 和间隔 = 2 秒,系统将在 70 秒不活动后断开连接。

更多详情请访问以下网站

http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

希望这对您有所帮助。

关于linux 不检测死的 tcp 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502859/

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