我知道这是个奇怪的问题。因为我通常基于“假设”所有用户的网络连接都很慢来开发应用程序。但是,有没有人认为有一种方法可以通过编程模拟慢速互联网连接,这样我就可以“看到”应用程序在不同“连接速度”下的表现?
我不担心使用哪种语言。我不是在寻找代码示例或其他东西,只是对它背后的逻辑感兴趣。
我知道这是个奇怪的问题。因为我通常基于“假设”所有用户的网络连接都很慢来开发应用程序。但是,有没有人认为有一种方法可以通过编程模拟慢速互联网连接,这样我就可以“看到”应用程序在不同“连接速度”下的表现?
我不担心使用哪种语言。我不是在寻找代码示例或其他东西,只是对它背后的逻辑感兴趣。
当前回答
我使用http://www.netlimiter.com/,它工作得很好。不仅限制单个进程的速度,而且还显示实际的传输速率。
其他回答
更新这个问题(9年之后)作为我正在寻找的答案,并没有提到:
Firefox也有限制连接速度的预设。在开发人员工具的Network Monitor选项卡中找到它们。默认为“不节流”。
最慢的是GPRS(下载速度:50 Kbps,上传速度:20 Kbps,最小延迟(ms): 500),范围从“良好”和“常规”2G, 3G和4G到DSL和WiFi(下载速度:30Mbps,上传速度:15Mbps,最小延迟(ms): 2)。
详见Dev Tools文档。
使用具有节流功能的web调试代理,如Charles或Fiddler。
你会发现它们在一般的web开发中很有用。主要的区别是Charles是共享软件,而Fiddler是免费的。
Mac OSX从10.10开始就有了一个名为Murus Firewall的应用程序,它作为pf的GUI,替代了ipfw。
它适用于系统范围或特定领域的节流。我只能用它把我的下载速度在300Kbps到30Mbps之间滑动,以测试流媒体视频播放器是如何调整的。
我使用http://www.netlimiter.com/,它工作得很好。不仅限制单个进程的速度,而且还显示实际的传输速率。
现在有一些TCP代理,比如iprelay和草率,它们可以进行带宽整形来模拟慢速连接。您还可以使用ipfw和iptables等IP过滤工具进行带宽整形和模拟丢包。