繁体   English   中英

Android无法发送多播UDP数据报

[英]Android fails to send Multicast UDP datagrams

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

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

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

因此,我在JRE7上编码了相同的发送者,并启动了它。 相同的代码损失几乎为零。

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

对于Unicast,我有点担心应用程序的可伸缩性。

有谁知道Android中是否存在某个已知错误,该错误会在发送多播数据报时导致问题?

我可以肯定地说,这不是接收机的问题,因为我将同一接收机用于单播和广播接收。

感谢您的想法。

同样的事情发生在我身上……不知道为什么。如果需要广播,请尝试使用较小的程序包,在客户端上使用反向ack,在服务器上使用ack侦听器,如果需要更好的解决方案,我几乎会问在另一篇文章中也一样...我已经管理了逆向ack代码的丢包,但是由于这个原因,我的性能越来越差。 注意:由于声誉我无法添加评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM