使用SD_RECEIVE关闭套接字但对等体发送数据包时会发生什么? (Winsock的)

时间:2016-07-22 06:11:56

标签: c sockets tcp

假设我使用winsock的shutdown(s, SD_RECEIVE)作为TCP。
关机后,对等体会发送数据包。

根据MSDN,
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740481.aspx

  

对于TCP套接字,如果套接字上仍有等待接收的数据,或者数据随后到达,则重置连接,因为无法将数据传递给用户。

通过“重置”是否意味着本地TCP将RST发送给对等体?反过来意味着,没有一个优雅的关闭?

1 个答案:

答案 0 :(得分:1)

这意味着什么,但仅限于Windows。在UNIX上,数据包被确认并丢弃。在Linux上,它们被确认和缓冲,最终会阻止发送者。