【发布时间】:2015-08-26 06:52:06
【问题描述】:
如果我有一个带有连接套接字的进程,并且我终止了这个进程,那么 Windows 将导致发送一个 RST 数据包。
是否保证(是否在某处记录)在进程终止时始终发送 RST 数据包,或者是否可以发送 FIN 数据包?
【问题讨论】:
-
RST 是对“未经请求的”流量的响应。此流量用于现在不存在的进程。 TCP 堆栈将以 RST 响应此类流量。由于进程终止,它不会“启动”RST。
-
您是否引用了您声称 Windows 将导致发送 RST 数据包的声明?
-
如果远程服务器断电,你会得到什么数据包?或者如果反铲挖土机切断了它的互联网连接?
-
@David Schwartz 我在 Wireshark 中捕获了 RST 数据包。但我不确定这是否总是如此(这就是我问的原因!)。请注意,当我终止进程时,发送缓冲区为空(与我在其他地方读到的不同,如果发送缓冲区不为空,则将发送一个 RST 数据包)。
标签: c sockets winapi network-programming winsock