当应用程序从套接字接收数据时,它将按照发送数据的正确顺序接收数据。 TCP 将知道如何根据每个数据包标头中包含的序列号对数据重新排序。
但是RST
数据包呢,例如:如果另一端发送了一些数据,然后发送了一个RST
数据包(通过不优雅地关闭连接),并且RST
数据包在数据之前被接收,在这种情况下会发生什么?
然后是RST
数据包,还是 TCP 会在接收数据之前立即向应用程序提供RST
数据包?
这没有任何区别。在任一情况下,接收 RST 都会导致套接字接收缓冲区的全部内容被丢弃。