我正在构建一个使用 TCP 套接字进行通信的应用程序。我想测试它在低速条件下的表现。
网站上有类似的问题,但据我了解,它们处理 HTTP 流量,或者与 Linux 有关。我的流量不是 HTTP,只是普通的 TCP 套接字,操作系统是 Windows。
我尝试使用提琴手的调制解调器速度设置,但它不起作用,它似乎只适用于 HTTP 连接。
我正在构建一个使用 TCP 套接字进行通信的应用程序。我想测试它在低速条件下的表现。
网站上有类似的问题,但据我了解,它们处理 HTTP 流量,或者与 Linux 有关。我的流量不是 HTTP,只是普通的 TCP 套接字,操作系统是 Windows。
我尝试使用提琴手的调制解调器速度设置,但它不起作用,它似乎只适用于 HTTP 连接。
虽然您确实可能想投资于大量单元测试,但您可以使用VMWare Workstation模拟各种网络条件:
您必须安装一个虚拟机进行测试,设置桥接网络(让 vm 访问您的真实网络)并将您的代码上传到 vm。
之后,您可以开始更改设置并查看应用程序的执行情况。
也可以使用NetLimiter ,但它的选项较少(在您的情况下,数据包丢失测试非常有趣,并且在 netlimiter 中不可用)。
有一个出色的 Windows 实用程序可以进行节流等等:
我认为你在这里采取了错误的方法。
您可以通过一些精心设计的单元测试来实现您需要的一切。慢速网络链接导致的所有事情都可以在受控条件下的单元测试环境中进行模拟。
您的代码必须处理以处理“慢”链接的事情只是您应该处理的事情,包括:
总之,通过在模拟的慢速网络上运行客户端和服务器,您无法通过一组体面的单元测试来实现任何目标,并且您想要在此类链接上测试的所有内容都可能影响您在任何链接上的任何连接链接速度。