关于Windows:在软件中测试网络中断

关于Windows:在软件中测试网络中断

Testing network interrupts in software

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

当前我是:

  • 实际断开网络电缆与计算机背面的连接
  • 使用ipconfig / release
  • 使用cports程序完全关闭套接字
  • 尽管这些方法都不适合我,但我想更轻松地模拟网络问题。

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

    在此模拟的不良网络启动时能够构建一些自动化的单元测试也将是一件很好的事情。


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


    我能想到的最接近的是与Shunra的VEDekstop做类似的事情。

    在测试数据库应用程序时模拟高延迟和低带宽

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


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


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


    推荐阅读