关闭插座如何影响他人的阅读

Kon*_*kos 5 c c++ sockets tcp

例如,我们有一个服务器-客户端应用程序。如果服务器在套接字上写了一条消息,然后在读取客户端之前将其关闭。客户可以阅读该消息吗?

Jes*_*uhl 5

“如果服务器在套接字上写入一条消息,然后在读取客户机之前将其关闭。客户机将能够读取该消息吗?”

是。客户端将获取在关闭套接字的FIN数据包之前发送的数据。

  • @Chipster所有TCP数据包都有一个序列号。网络堆栈(通常在OS内核中实现)负责按顺序将数据包传递到应用程序,并根据需要延迟传递或请求重新发送数据包。从应用程序的角度来看,TCP连接是字节的有序流,它将永远不会出现混乱的情况。UDP的情况有所不同。 (2认同)