根据tcp协议,当tcp连接终止时,启动器的tcp套接字在连接完全关闭之前转到以下状态FIN-WAIT-1,FIN-WAIT-2,TIME-WAIT和其他的tcp套接字在连接完全关闭之前,结束转到以下状态CLOSE-WAIT,LAST-ACK,CLOSED。 在我们的应用程序服务器中启动连接终止,导致服务器端套接字无限期地在FIN_WAIT2状态中等待,因为客户端由于端口不可用而被服务器丢弃。 客户发起的连接终止是否有利?
答案 0 :(得分:2)
从客户端启动终止可能是有利的,因为它会阻止服务器进入TIME_WAIT。你的问题不同。
FIN_WAIT2中的套接字是“半开”:客户端仍然可以发送数据并且您可以读取它,但是您无法发回任何内容。套接字将保持此状态,直到客户端关闭其套接字,或者服务器重置连接。
所以听起来你的客户根本就没有关闭他们的关系。