Android MulticastSocket.joinGroup不';t触发器发送IGMP消息

Android MulticastSocket.joinGroup不';t触发器发送IGMP消息,android,Android,代码: 在Ubuntu 14.04上,当我运行它时,我可以看到IGMPv2“Membership Report group 230.230.230.1”消息。但在Android上,没有看到这样的数据包 当用户调用joinGroup(或C中的setsockopt)时,必须使用这样的数据包来通知路由器IGMP成员身份,对吗?许多设备在出厂时都不支持内核内置的多播。打开一个adb外壳并执行以下操作 MulticastSocket s = new MulticastSocket(); InetAddre

代码:

在Ubuntu 14.04上,当我运行它时,我可以看到IGMPv2“Membership Report group 230.230.230.1”消息。但在Android上,没有看到这样的数据包


当用户调用joinGroup(或C中的setsockopt)时,必须使用这样的数据包来通知路由器IGMP成员身份,对吗?

许多设备在出厂时都不支持内核内置的多播。打开一个adb外壳并执行以下操作

MulticastSocket s = new MulticastSocket();
InetAddress addr = InetAddress.getByName("230.230.230.1");
s.joinGroup(addr);
//...
如果没有,那么内核是在没有配置IP多播的情况下构建的。您基本上是SOL,而无需启动设备和/或刷新自定义固件


这是一种令人伤心的情况。

@pengguang001 NetworkInterface.supportsMulticast()是否显示了这种不兼容?它是否返回false?是的,/proc/net/igmp不存在,并且没有定义CONFIG\u IP\u多播。内核仍然支持多播,没有成员报告。
cat /proc/net/igmp