我有一些代码每秒广播udp数据包。我有几个Android设备坐着,听着。运行2.3的设备每秒钟都会收到数据包,而且几乎没有失败。运行2.2的设备非常糟糕。这是2.2的已知问题吗?UDP适用于Android 2.3,但不适用于Android 2.2
感谢
崔佛
我有一些代码每秒广播udp数据包。我有几个Android设备坐着,听着。运行2.3的设备每秒钟都会收到数据包,而且几乎没有失败。运行2.2的设备非常糟糕。这是2.2的已知问题吗?UDP适用于Android 2.3,但不适用于Android 2.2
感谢
崔佛
通常情况下,我认为它不会是一个问题,因为DatagramSocket
是从API级别1使用,你可以在右上角这个link看到。或者您是否在使用其他对象来处理您的连接?
看看这个问题。 (http://code.google.com/p/android/issues/detail?id=8407)
结论是“有些制造商(&自定义ROM)默认过滤出广播流量,有些不是。看看WifiManager.MulticastLock,你可能需要按顺序获得锁接收的广播流量:http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html“
这是建议的解决方案:
WifiManager wifi;
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
MulticastLock ml = wifi.createMulticastLock("just some tag text");
ml.acquire();
当的AsyncTask停止做
ml.release();
嗨。我正在使用DatagramSocket。我什么都没做。网络上的所有例子都是直接排除的。当我在2.3上运行相同的项目时,我获得了非常棒的结果。我在2.2上运行它,但它不起作用。尽管如此,感谢答复。你会认为它在这么长的时间里会是防弹的。也许2.2只是有问题。 – 2012-03-22 22:25:41