我有一个应用程序,我怀疑它会遇到问题,因为网络节点关闭了与其通信的各种其他服务器的套接字。 我想通过关闭 netstat 中可以看到的一个或多个连接来模仿这种行为。 我不是操作系统级别的网络专家,所以这个问题可能很愚蠢,如果是这样,您对如何模拟这种情况还有其他建议吗?
最佳答案
在尝试模拟问题之前,您可以使用 Wireshark 确定地诊断情况。或者,在 *nix 上,tcpdump。您应该能够捕获流量并观察其中一台服务器是否向您发送RST
。
如果您收到RST
,那么这可能是由于服务器本身造成的(在等待您向它们发送响应或数据时超时并关闭连接,或者由于以下原因而关闭连接)服务器错误或负载限制),您的 ISP 的网络设备,或您自己的网络设备(例如您的无线链路向上和向下。)
断开路由器、网线或无线接口(interface)的连接可以在不同程度上模拟您在与服务器通信时随时可能遇到的连接问题。断开 PC 的网络电缆应模拟强制关闭与 RST
的连接,同时断开您和互联网之间的电缆,但不是直接连接 PC 的电缆(例如,断开路由器之间的电缆)和您的电缆/DSL 调制解调器,或从电缆公司的电缆/电信公司的墙上插孔断开电缆/DSL 调制解调器)将允许您模拟超时条件。
关于windows - 如何关闭 Windows 机器上的套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593821/