为什么我的Android应用停止接收多播数据包?

时间:2018-06-30 03:10:58

标签: java android c sockets multicast

设置

  • 像素2(Android 8.1.0)和我的多播应用程序。
  • 带有第三方多播应用程序的Android 4.4.3设备
  • Windows PC多播广播器

我的多播应用程序创建UDP套接字,设置一些套接字选项以加入多播组并侦听入站多播数据包。该应用会定期获取wifi锁定,多播锁定和唤醒锁定。该应用已从电池优化中排除。

问题

当我运行Android应用程序和PC多播器时,Android应用程序会很好地接收广播的数据包。但是,过了一会儿,Android应用程序停止接收多播流量。

观察

这是最奇怪的事情:当我启动Android 4.4.3设备并启动加入同一多播组并侦听同一端口上的流量的第3方多播应用程序时,我的Pixel2设备突然开始再次接收。我的主意震撼了!

问题

有人可以告诉我这里会发生什么吗?为什么我的Pixel2设备停止接收多播流量?当 另一个 设备上的应用启动并加入相同的多播频道时,为什么我的Pixel2设备恢复接收多播流量?

我的多播代码是使用Android NDK实现的。其余的使用Java / Android SDK完成。

如有需要,我很乐意提供其他详细信息。只是问...

0 个答案:

没有答案