Android无法发送多播UDP数据报

时间:2015-03-22 11:28:51

标签: java android sockets networking udp

在为Android编写简单的UDP广播应用时,我遇到了一个奇怪的问题。

基本上我的应用程序想要向本地网络上的设备广播数据流。每个UDP数据包都有一个按顺序递增的数字,因此我知道数据包何时丢失。

当我进行测试时,我注意到大约80%的数据包丢失了。现在我知道UDP是有损的,但这在局域网上是疯了。

因此,我在JRE7上编码了相同的发件人并启动了它。同样的代码几乎没有损失百分比。

当我在Android上切换到单播(只是更改目标IP地址,无代码更改)时,我的丢失率为0%。

使用Unicast Im有点担心应用程序的可伸缩性。

有没有人知道Android中是否存在某些已知错误,导致发送多播数据报时出现问题?

我相当肯定这不是接收器的错误,因为我使用相同的接收器进行单播和广播接收。

感谢您的想法。

1 个答案:

答案 0 :(得分:0)

同样发生在我身上......不知道为什么...... 尝试较小的包 如果你需要广播,客户端上的反向ack和服务器上的ack监听器。如果你找到一个更好的解决方案,我在另一个帖子上问几乎相同...我已经管理了丢包ack代码,但因此我的表现很差。 注意:由于声誉,我无法添加评论