Android MulticastSocket 組播

現象

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    保川閱讀 5,990評論 1 13
  • 個人認為,Goodboy1881先生的TCP /IP 協議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,096評論 0 8
  • 1.這篇文章不是本人原創的,只是個人為了對這部分知識做一個整理和系統的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,137評論 6 174
  • 0×1.IPv6概述a.IPv6地址格式IPv6地址一共有128位長度(IPv4一共是32位長度),每16位為一個...
    Zero___閱讀 1,796評論 0 4
  • 文/小北 西格蒙德?弗洛伊德說過:“世界上沒有所謂的玩笑,所有的玩笑都有認真的成分。”其實所有的青春大都如此,飲過...
    小北愛吃肉肉閱讀 14,933評論 144 470