服务器的Tcp连接关闭启动是否可行?

时间:2013-12-05 06:45:35

标签: java sockets tcp

根据tcp协议,当tcp连接终止时,启动器的tcp套接字在连接完全关闭之前转到以下状态FIN-WAIT-1,FIN-WAIT-2,TIME-WAIT和其他的tcp套接字在连接完全关闭之前,结束转到以下状态CLOSE-WAIT,LAST-ACK,CLOSED。 在我们的应用程序服务器中启动连接终止,导致服务器端套接字无限期地在FIN_WAIT2状态中等待,因为客户端由于端口不可用而被服务器丢弃。 客户发起的连接终止是否有利?

1 个答案:

答案 0 :(得分:2)

从客户端启动终止可能是有利的,因为它会阻止服务器进入TIME_WAIT。你的问题不同。

FIN_WAIT2中的套接字是“半开”:客户端仍然可以发送数据并且您可以读取它,但是您无法发回任何内容。套接字将保持此状态,直到客户端关闭其套接字,或者服务器重置连接。

所以听起来你的客户根本就没有关闭他们的关系。