我看到一些服务器会在发送[FIN,ACK]
完成单个请求后停止连接来自wiki,
连接可以是"半开",在这种情况下,一方已终止其结束,但另一方没有。已终止的一方不能再向连接发送任何数据,但另一方可以。终止方应继续读取数据,直到另一方终止。
如果我想通过避免每个请求重复握手来加速请求。客户端是否有可能保持通信,即使服务器终止它的结束?服务器或服务器是否会在没有响应的情况下读取我的请求?
答案 0 :(得分:3)
通常,当您终止写一半的TCP连接时,这意味着您已经完成了通信,而您只是等待您的合作伙伴(无论是服务器,客户端还是同等对等)完成它的传输。当你的伴侣准备就绪时,他会终止他的写一半,然后关闭TCP连接。
因此,如果服务器已终止其结束,您仍然可以可靠地发送数据,但无法接收任何结果。
如果您不想在TCP中进行任何握手,为什么不在没有握手的情况下使用协议?例如UDP,特别是如果消息不重且强烈。