收到[FIN,ACK]

时间:2016-01-21 04:27:58

标签: sockets networking tcp wireshark

我看到一些服务器会在发送[FIN,ACK]

完成单个请求后停止连接

来自wiki,

  

连接可以是"半开",在这种情况下,一方已终止其结束,但另一方没有。已终止的一方不能再向连接发送任何数据,但另一方可以。终止方应继续读取数据,直到另一方终止。

如果我想通过避免每个请求重复握手来加速请求。客户端是否有可能保持通信,即使服务器终止它的结束?服务器或服务器是否会在没有响应的情况下读取我的请求?

1 个答案:

答案 0 :(得分:3)

通常,当您终止一半的TCP连接时,这意味着您已经完成了通信,而您只是等待您的合作伙伴(无论是服务器,客户端还是同等对等)完成它的传输。当你的伴侣准备就绪时,他会终止他的一半,然后关闭TCP连接。

因此,如果服务器已终止其结束,您仍然可以可靠地发送数据,但无法接收任何结果。

如果您不想在TCP中进行任何握手,为什么不在没有握手的情况下使用协议?例如UDP,特别是如果消息不重且强烈。