2

我们正在将目前运行在 IOS 上的产品移植到 Android 平台上,它基本上是接收多播音频数据包并播放它们。到目前为止,我们测试过的每台 Android 设备都可以正常工作(HTC 设备、三星等)。但是,我们永远不会在 Nexus 4 上收到网络流量!

我们的应用程序在 20118 端口打开了一个 UDP 端口,并在 239.192.0.11 加入了多播组。流量永远不会到达 Nexus 4。

只是为了好玩,我编写了应用程序来监听 mDNS 多播地址和端口,即端口 5353 和多播组 224.0.0.251。网络总是围绕 mDNS 流量进行压缩,所以我想我会拿起一个数据包。

有效!

所以我的应用完全能够在 Nexus 4 上接收多播流量,只要它是 mDNS 流量。它不会在 239.192.0.11 和端口 20118 接收任何多播流量(保证它存在,因为其他设备同时接收它就好了)。

Nexus 4 中是否有某种防火墙?或者是否有一块地址被禁用?

有人有这个设备的其他多播地址问题吗?

只是为了比较,它确实适用于运行 4.2.2 的 Nexus 7 平板电脑。只是不是 Nexus 4,还有 4.2.2(也没有早期版本的 Jelly Bean)。

谢谢你的帮助,

查克

4

1 回答 1

0

看起来多播在 Nexus 4 上被禁用:

http://code.google.com/p/android/issues/detail?id=51195

不过,这并不能解释为什么 mDNS 可以工作。也许他们被内核特别对待?

于 2013-07-02T13:50:09.093 回答