当我终止一个进程并且套接字发送缓冲区不为空时会发生什么?

当我终止一个进程并且套接字发送缓冲区不为空时会发生什么?

在 Windows 中(可能在其他操作系统中也是如此),如果一个进程与另一台机器上的另一个进程有 TCP 连接,然后我终止该进程,则会向另一台机器发送一个 RST 数据包以指示连接结束。

现在想象一下,当进程终止时,发送缓冲区中仍然留有一些数据。在这种情况下会发生什么,这些剩余的数据会被发送到另一台机器,然后发送一个 RST 数据包,还是这些剩余的数据会被忽略,只发送一个 RST 数据包?

答案1

立即发送RST并丢弃数据。

相关内容