我知道这是个奇怪的问题。因为我通常基于“假设”所有用户的网络连接都很慢来开发应用程序。但是,有没有人认为有一种方法可以通过编程模拟慢速互联网连接,这样我就可以“看到”应用程序在不同“连接速度”下的表现?

我不担心使用哪种语言。我不是在寻找代码示例或其他东西,只是对它背后的逻辑感兴趣。


当前回答

谷歌建议:

OSX上的网络链路调节器 笨拙的窗户 Linux上的Dummynet

其他回答

使用TCPMon之类的工具。它可以假装连接很慢。

基本上,你向它请求完全相同的东西,它只是将完全相同的请求转发给真实服务器,然后仅用设置的字节数延迟响应。

此外,为了在某些*nix上模拟慢速连接,您可以尝试使用ipfw。更多信息由Ben Newman在Quora上的回答提供

使用具有节流功能的web调试代理,如Charles或Fiddler。

你会发现它们在一般的web开发中很有用。主要的区别是Charles是共享软件,而Fiddler是免费的。

现在有一些TCP代理,比如iprelay和草率,它们可以进行带宽整形来模拟慢速连接。您还可以使用ipfw和iptables等IP过滤工具进行带宽整形和模拟丢包。

还有另一个工具叫做WIPFW - http://wipfw.sourceforge.net/

这有点老派,但您可以使用它来模拟较慢的连接。它是基于Windows的,该工具允许管理员监控路由器从某台机器接收了多少流量,或者它转发了多少WWW流量。