在REAL设备上模拟慢速Internet连接?

时间:2012-07-15 02:21:53

标签: android android-wifi android-networking android-internet

我需要在即使是2G互联网连接未完全覆盖的情况下测试我的应用程序(即2条而不是4,2G)。

我更喜欢通过WiFi进行这些测试。

有没有办法(以编程方式或其他方式)告诉真实设备上的Android操作系统减速或限制互联网连接56 Kbit / s?

注意:我知道如何在thisemulator。我正在寻找一种方法在真实设备上执行此操作。

这可能吗?

2 个答案:

答案 0 :(得分:4)

在你的一条评论中,你提到你有一个DD-WRT路由器,它实际上是一个很小的Linux盒子。因此,您可以使用tc命令获得一种方法:

tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit 
tc class add dev $DEV parent 1: classid 1:1 cbq rate 512kbit allot 1500 prio 5 bounded isolated 
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 195.96.96.97 flowid 1:1

答案 1 :(得分:0)

这取决于您在上游方面的情况。如果你正在传输某种测试负载,那么在上游端编写一个驱动程序,实际上会减慢自身速度 - 尽管sleep()是一个糟糕的选择。如果您希望获得类似真实工作负载的任何内容,那么您将要编写的内容实际上是一个相当难的实时程序。

(当我说“一个驱动程序”顺便说一下,我并不一定是设备驱动程序,只是某种驱动程序。)

但您是否真的尝试模拟连接,或者有效数据速率较低的降级和噪声连接?