根据tcp协议,当tcp连接终止时,发起方的tcp套接字在连接完全关闭前处于FIN-WAIT-1、FIN-WAIT-2、TIME-WAIT状态,另一端的tcp套接字在连接完全关闭前处于CLOSE-WAIT、LAST-ACK、closed状态。在我们的应用服务器端发起连接终止,导致服务器端套接字在FIN_WAIT2状态下无休止地等待,因此客户端建立的连接会因为端口不可用而被服务器丢弃。客户端发起的连接终止是有利还是不利?
发布于 2013-12-05 15:52:59
从客户端发起终止可能是有利的,因为这会阻止服务器访问TIME_WAIT。你的问题就不一样了。
FIN_WAIT2中的套接字是“半开”的:客户端仍然可以发送数据,您可以读取数据,但不能发送任何内容。套接字将一直处于此状态,直到客户端关闭其套接字,或者服务器重置连接。
因此,听起来你的客户根本没有关闭他们的连接。
https://stackoverflow.com/questions/20393271
复制相似问题