我在 Windows 中有一个网络 C++ 程序,我想在不同时间测试网络断开情况。我有什么选择?

目前我是:

  1. 实际上从我的计算机背面断开网络线
  2. 使用 ipconfig /release
  3. 使用 运输 程序完全关闭套接字

但这些方法都不适合我,我想更轻松地模拟网络问题。

我希望有时连接失败,有时套接字读取失败,有时套接字写入失败。如果有一些实用程序可以用来模拟这些类型的问题,那就太好了。

当这个模拟的不良网络启动时,如果能够构建一些自动化的单元测试,那就太好了。

有帮助吗?

解决方案

您可能想要抽象网络层,然后可以进行单元测试,在适当的点注入有趣的故障事件。

其他提示

我能想到的最接近的是做类似的事情 维德克停止 来自顺罗..

数据库应用测试中模拟高延迟和低带宽

Shunra VE Desktop Standard 是一款基于 Windows 的客户端软件解决方案,可模拟广域网链接,以便您可以直接从桌面在各种当前和潜在的网络条件下测试应用程序。

您可以对用于管理套接字的任何库类进行子类化(如果您使用的是 MFC,则可能是 CAsyncSocket 或 CSocket),重写要测试其失败的方法,并在重写中插入适当的测试代码。

您可以使用一些方法,这取决于您要测试的级别。对于功能级别,您可以使用 XUNIT 测试框架来模拟响应。对于软件级别,您可以使用本地代理服务器来控制连接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top