Android MulticastSocket 组播

作者: 一林花色 | 来源:发表于2016-09-23 17:44 被阅读1302次

现象

MulticastSocket 发送组播消息,一些手机上可以发送、接收  组播 消息,有些手机不可用

分析

     1>.能正常发送接收的手机,向组播地址发送了组播消息后,同时会向组播地址发送一个  IGMP v2的协议

2>.能发送,接收不到组播消息的手机设备,可以发现设备没有向组播地址发送IGMP协议

3>.而查看手机设备,在   /proc/net/  目录下,有igmp文件的设备会发送IGMP协议,能正常完成组播消息收发,而没有igmp文件的,就是不能完成组播消息收发的。igmp是IPv4下的协议文件,igmp6是IPv6的协议。可以看到所有设备都支持IPv6的igmp

4>.在Android系统下,编译Linux kernel时有一config  CONFIG_IP_MULTICAST ,如果是定制系统在编译系统的时候配置这个选项   CONFIG_IP_MULTICAST=y  ,就能enable组播功能。但是有很多系统厂商在编译的时候都默认把这个config给disable了。


CONFIG_IP_MULTICAST

adb shell netcfg

adb shell ifconfig eth0

参考:

How can I know if IP Multicast is enabled

Android App用MulticastSocket监听组播,为什么连接到不

Many devices have multicast disabled in the kernel

相关文章

  • Android之Wifi通信-AP通信

    参考学习 Android局域网通信 DatagramSocket进行组播 MulticastSocket Data...

  • Android MulticastSocket 组播

    现象 MulticastSocket 发送组播消息,一些手机上可以发送、接收 组播 消息,有些手机不可用 分析 ...

  • Android 如何接收组播

    在项目中用的使用组播的方式接受udp数据,顺便就记录一下相关姿势。 什么是组播(Multicast) 在发送方和每...

  • RPF检测和URPF检测的区别

    RPF叫做逆向路径转发,主要用于组播环境中针对于组播源对于组播组地址的所有数据做路由检查。首先组播路由协议是基于单...

  • Android组播域名服务

    Multicast DNS is a way of using familiar DNS programming ...

  • 组播IGMP

    一.什么是组播?1.一个发送(组播源),多个接收,接收的有个特点就是在同一个组播组里面,组播组有自己的IP2.对于...

  • Java网络编程 - 05 基于UDP协议的网络通信

    导读目录 UDP协议的基础 使用DatagramSocket发送、接受数据 使用MulticastSocket实现...

  • flutter udp multicast 组播

    写这篇文章的缘由:在Android原生端,iOS原生端,实现udp 组播相信很多小伙伴都会的,但在flutter ...

  • 组播地址,IP组播

    IANA已经把D类地址空间分配给了IP组播地址. IANAIANA(The Internet Assigned N...

  • iOS UDP组播

    组播步骤: 建立socket socket和端口绑定 加入一个组播组 通过sendto / recvfrom进行数...

网友评论

    本文标题:Android MulticastSocket 组播

    本文链接:https://www.haomeiwen.com/subject/dcgtyttx.html