【问题标题】:How can I simulate a 'plugged network cable' (TCP/IP)?如何模拟“插入的网络电缆”(TCP/IP)?
【发布时间】:2012-10-09 08:17:46
【问题描述】:

我想测试一些网络错误情况,但我没有网线。 TCP 客户端和服务器应用程序都在同一系统上运行。

使用TCPView之类的工具关闭连接,而不是拔掉网线,会不会是一个真实的模拟?


更新:

  • 使用 TCPView 断开连接会导致 10054 错误,该错误可以在应用程序代码中处理。 10054 是 WSAECONNRESET - 连接已被对等方重置。这通常是连接另一端的问题。

我还从this answer 那里了解到“您可以拔下网络然后重新插入,否则您的 Wi-Fi 笔记本电脑可能会失去接收一秒钟然后再将其恢复。如果这样的话会很令人沮丧在我们使用的所有程序中,可恢复的案例都被视为错误。” (见:how server socket know network cable in unplugged in windows using c++

【问题讨论】:

标签: windows testing tcp


【解决方案1】:

在 windows wlan 卡上模拟“电缆断开”的最佳方法是通过右键单击接口图标来禁用接口...

我对上面的“本地连接2”做了同样的事情......接口是有线还是无线都没有关系......机制是一样的

【讨论】:

  • 服务器和客户端在同一个系统上运行 - 因此禁用 WLAN 不会中断 TCP 连接
  • 如果客户端和服务器在同一个系统上运行,不清楚你是如何使用wlan通信的...请解释...
  • 我编辑了我的问题 - WLAN 只是没有电缆的原因
  • 我的答案不依赖于那里的电缆...禁用接口发生在驱动程序级别...不需要电缆。您在测试中使用的 IP 地址是什么?
  • 对于本地测试,我使用我的计算机的 IP 地址,如 ipconfig (192.168.178.xxx) 所示。如果我禁用无线网络连接的适配器,客户端仍然可以发送和接收消息。
【解决方案2】:

如果您尝试与外部 IP 开始连接,然后关闭 WLAN,该怎么办?这对您来说可能是可以接受的。

如果您只想关闭客户端或服务器的连接,您可以限制与防火墙的连接。

或者为什么不一个接一个地关闭 SERVER 应用和 CLIENT 应用?关闭客户端应用程序,您将看到服务器应用程序在失去连接后发生了什么,反之亦然。如果关闭事件有什么东西,只需通过任务管理器结束任务。


所有这些:

如果您同时运行 TCP 客户端和服务器应用程序 系统

【讨论】:

  • +1,我会尝试使用外部IP。我已经从我的问题中删除了 WLAN 部分,因为这只是我的测试系统没有连接电缆的原因。但我想现在用真实的计算机和 WLAN 设置测试环境会容易得多。
猜你喜欢
  • 2010-12-05
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 2011-04-03
相关资源
最近更新 更多