【问题标题】:Tcp connection closing initiation by server is fevorable?由服务器发起的 TCP 连接关闭是否有效?
【发布时间】:2013-12-21 23:54:50
【问题描述】:

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

【问题讨论】:

    标签: java sockets tcp


    【解决方案1】:

    从客户端发起终止可能是有利的,因为它可以防止服务器进入 TIME_WAIT。你的问题不一样。

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-05
      • 2020-05-11
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 2015-12-01
      • 2011-05-19
      相关资源
      最近更新 更多