windows - 如何关闭 Windows 机器上的套接字?

标签 windows sockets networking tcp

我有一个应用程序,我怀疑它会遇到问题,因为网络节点关闭了与其通信的各种其他服务器的套接字。 我想通过关闭 netstat 中可以看到的一个或多个连接来模仿这种行为。 我不是操作系统级别的网络专家,所以这个问题可能很愚蠢,如果是这样,您对如何模拟这种情况还有其他建议吗?

最佳答案

在尝试模拟问题之前,您可以使用 Wireshark 确定地诊断情况。或者,在 *nix 上,tcpdump。您应该能够捕获流量并观察其中一台服务器是否向您发送RST

如果您收到RST,那么这可能是由于服务器本身造成的(在等待您向它们发送响应或数据时超时并关闭连接,或者由于以下原因而关闭连接)服务器错误或负载限制),您的 ISP 的网络设备,或您自己的网络设备(例如您的无线链路向上和向下。)

断开路由器、网线或无线接口(interface)的连接可以在不同程度上模拟您在与服务器通信时随时可能遇到的连接问题。断开 PC 的网络电缆应模拟强制关闭与 RST 的连接,同时断开您和互联网之间的电缆,但不是直接连接 PC 的电缆(例如,断开路由器之间的电缆)和您的电缆/DSL 调制解调器,或从电缆公司的电缆/电信公司的墙上插孔断开电缆/DSL 调制解调器)将允许您模拟超时条件。

关于windows - 如何关闭 Windows 机器上的套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593821/

相关文章:

c++ - 为什么 WSASend 返回 0 但仍调用完成例程?

windows - 通过 IIS 使用 GIT 智能 HTTP

java - 请求第二个 http GET 命令获取第二个范围后,无法得到任何响应

c - 接受系统调用时出现段错误

macos - 可以配置 OS X VPN 以在 VPN 和本地接口(interface)之间拆分流量吗?

java - 维护与服务器端服务的套接字连接是否不利于向桌面应用程序发送通知?

.net - 当我的进程被终止时到底发生了什么?

java - java中如何通过socket获取HTTP响应?

php - Objective-C 和 PHP 文件上传和移动

Windows 批处理脚本提供参数