Android 设备停止接收 WiFi UDP 广播

时间:2021-02-11 12:09:45

标签: android networking udp broadcast

我正在构建一个基于 UDP 的音频流系统,并且在使用两个不同的 Android 设备时遇到了一个奇怪的行为,我完全不明白。

我有一台服务器在我的本地 WiFi 上将 UDP 数据包广播到 192.168.178.255。 Android 应用程序使用 DatagramSocket 侦听这些广播并很好地接收数据包。已获得 MulticastLock,但应用仍处于前台,因此这无关紧要。

但是,在看似随机的时间段(大约几分钟)之后,应用会停止接收广播。奇怪的是,这不仅会影响我自己的应用程序,还会影响任何可以收听 UDP 广播的第三方工具。仍会收到专门针对设备的 UDP 数据包。在我禁用并重新启用 wifi 连接之前,设备将不再接收任何广播。

更奇怪的是:我发送的测试数据包有一个序列号,所以我可以跟踪设备收到的最后一个数据包。我在两个不同的设备(华为FIG-LX1 手机和Fire-Tablet)上运行这个测试,并且设备停止接收完全相同的数据包。我正在 Wireshark 上查看网络流量,但我看不出此数据包或网络上发生的任何事情有什么特别之处。

任何想法可能会以这种方式在两个完全不同的设备上杀死广播接收?

不幸的是,这两个设备都没有 root,所以我无法直接在设备上运行网络分析器,以确定 - 例如 - 路由器是否可能不再转发数据包。

0 个答案:

没有答案
相关问题