我们的suse linux服务器上有一个客户端服务器应用程序 有时它会发生,在客户端,tcp套接字会以某种方式消失 在服务器端,套接字的另一端仍然存在。
在一天结束时,当我们停止linux服务器上的后端时,后端会尝试关闭所有剩余的tcp连接,也就是那些“僵尸”套接字。
(我用strace看这个。)
当后端尝试关闭tcp连接时,客户端上不再存在任何内容,它会向目标发送[FIN,ACK]数据包。当然,什么也没有回来。
后端重复发送此数据包。它第一次只等几百分之一秒重复它,然后等待的时间越来越长。最后它等待几秒钟重复它。但是,15秒后,有一个超时,它继续结束另一个 tcp连接。
现在,我不知道这15秒超时的来源。我想改变它。
非常感谢你。