TCP连接:如果客户端没有确认服务器FIN

时间:2017-08-06 18:31:06

标签: tcp server client protocols tcpclient

为了解释我的问题,我尝试了涂鸦场景。请记住,我自己一直在深入研究TCP,因此图表可能不太可靠。如果是这样,请告诉我。

问题

如果通过TCP与服务器建立开放连接的客户端没有确认服务器发送的FIN(在#1处看到),会发生什么?

可能的答案

  • 服务器是否仍然关闭连接?
  • 在强行清理连接之前,服务器是否等待ACK?
  • 如果客户端希望在服务器发送FIN后保持连接打开,客户端可以做任何事情来告诉服务器保持打开吗?即要求更多数据

enter image description here

1 个答案:

答案 0 :(得分:1)

FIN将再次发送,与数据段完全一样,受相同的重试计数器和超时限制。

  

如果客户端希望在服务器发送FIN后保持连接打开,客户端可以做任何事情来告诉服务器保持打开吗?即要求更多数据。

没有。主机发送FIN后,无法再发送任何数据。但是,除非主机实际关闭了套接字,否则对等体可以向另一个方向发送。