日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到...

發布時間:2025/3/21 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

---------------------------!! 轉載請注明出處 !!-----------------------

一個項目,利用wifi組播在局域網內發現設備。卻發現在有的路由器上能正常工作,有的路由器上完全監聽不到組播消息。檢查路由配置沒有任何問題。

組播實現很簡單:拿住WifiLock,拿住MulticastLock,創建MulticastSocket端口1900,ttl設為3或者5,然后joinGroup加入239.255.255.250組,然后設置socket的timeout,調用receive開始監聽。還要記得manifest中加上幾個相關的permission。

網上可以搜到很多示例,基本都是這樣的處理流程,沒什么復雜的。

?

一開始測試時工作正常,由于用的是UPnP通用的組播ip (239.255.255.250:1900),所以可以收到局域網里很多組播消息,包括MediaRenderer,InternetGateway等等,我們只要從中篩出自己的消息就行了。

但小批量投放后,發現了問題。我們的產品在某些路由器上無法監聽到組播消息。監聽端口上一片靜默,不僅我們自己的消息收不到,網絡中其他設備發的組播消息也收不到。

帶回3臺有問題的路由,分別是 1) linksys,2) 華為,3) ARRIS

而國內的三臺路由上工作卻是正常的,這三臺分別是? 4)小米,5) 華碩, 6)Cisco

找了另外三臺android手機安裝同一個app做測試,三臺手機:htc (android4.4.2),Sony (andorid4.1.2),華為(android5.0.2)

問題來了,htc和sony在6臺路由上均能監聽到組播,華為榮耀7跟我們的設備一樣,完全監聽不到。

*以上路由和手機就不標具體型號了^_^

----------------------------------------------------問題描述完畢,開始解決------------------------------------

WinPCap工具抓包發現,

兩臺測試機htc和sony,在加入組播組(joinGroup)時,會發送 IGMP V2 Membership Report / Join group 239.255.255.250 離開組播組(leaveGroup) IGMP V2 Leave Group 239.255.255.250 有些支持IGMP V3的路由上抓包如下: IGMP V3 Membership Report / Join group 239.255.255.250 for any sources IGMP V3 Membership Report / Leave group 239.255.255.250

而出問題的手機(華為手機和我們自己的設備),根本沒發IGMP包。

也就是表示,它們在加入組播組時,盡管在app總調用joinGroup成功,但實際上并未向路由器發出IGMP請求,即根本沒加入組播組,自然就監聽不到消息。

那么為什么這兩臺機器在小米,華碩,cisco路由上能正常監聽呢? 猜測這三臺路由恐怕并沒有嚴格按照的UPnP協議來實現,猜測它可能給連在路由上的任何設備發送組播(類似廣播一樣處理),設備收到組播后,根據本地的配置情況決定是否發給app。由于沒有路由器實現的代碼,只是根據現象猜測。

至此,我們要解決的問題就是 讓它們發出IGMP包。

對華為手機,沒辦法了,不是我做的。。。

我們自己的設備是有全部源碼的,調查發現linux kernel的config中 CONFIG_IP_MULTICAST 這項沒定義。

添加CONFIG_IP_MULTICAST=y, 重編kernel img后,再次抓包能抓到設備發出的IGMP包了,實測問題解決。 這個問題調查過程中 發現在國內的站點上很少能搜到真正有幫助的信息,所以發這個帖子,也許你的問題與我不一樣,但至少提供一個思路吧。 ---------------------------轉載請注明出處-----------------------

轉載于:https://www.cnblogs.com/inkheart0124/p/5508420.html

總結

以上是生活随笔為你收集整理的Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲激情三区 | 欧美一区三区二区在线观看 | 中文 日韩 欧美 | 九九九国产 | 精品人妻码一区二区三区红楼视频 | 成人免费毛片嘿嘿连载 | 欧美一区二区在线看 | 国内av网站 | 免费古装一级淫片潘金莲 | 影音先锋在线播放 | 葵司有码中文字幕二三区 | 久久综合第一页 | 蜜桃av乱码一区二区三区 | 午夜寂寞剧场 | 新91在线| 亚卅色图| 久视频在线 | 在线观看免费视频一区 | 成人欧美一区二区三区黑人动态图 | 日本熟女毛茸茸 | 欧美日韩免费一区 | 久久久精品毛片 | wwwwxxxx国产| 国产精品成人一区二区三区电影毛片 | 人人射影院 | 最新免费av | 青青啪啪 | 久久久久成人网站 | 日韩激情网站 | 国产精品久久久久久久久久久久久 | 亚洲最新av网址 | 久久久久久九九 | 男女做爰猛烈吃奶啪啪喷水网站 | 亚洲一区二区电影 | 中文字幕不卡在线播放 | 亚洲 小说区 图片区 都市 | 成人在线视频一区二区 | 自拍偷拍激情视频 | 国产suv精品一区二区 | 久久久久久久久久久久久久国产 | 你懂的国产 | 国产噜噜噜噜久久久久久久久 | av在线播放器 | 欧美一区二区三区久久综合 | 丁香六月av | 亲嘴脱内衣内裤 | 亚洲aaa级 | 欧美国产一区二区 | 特黄aaaaaaaaa毛片免 | 99视频国产精品免费观看a | 黄色成人在线观看 | 一二三区精品 | 亚洲一区二区精品在线 | 国产免费一区二区三区四区五区 | 久久yy | 免费成人在线电影 | 国产精品羞羞答答在线观看 | 影音先锋毛片 | 国产一区欧美二区 | 精品人妻在线一区二区三区 | 色交视频 | 成熟丰满熟妇高潮xxxxx视频 | 国产在线观看免费视频软件 | 黑帮大佬和我的365日第二部 | 国产主播一区二区 | 麻豆疯狂做受xxxx高潮视频 | 深爱激情综合网 | 黄色片在线看 | 这里只有精品在线观看 | 男人的天堂毛片 | 秘密基地电影免费版观看国语 | 黑人三级视频 | 欧亚免费视频 | 法国伦理少妇愉情 | 人妻射精一区二区 | av每日更新 | 国产在线综合网 | 毛片免| 欧美日韩久久婷婷 | 欧美精品韩国精品 | 亚洲成人av一区 | 97精品国产97久久久久久粉红 | 18久久| 自拍超碰 | av在线不卡网站 | av日韩在线播放 | 欧美顶级metart裸体全部自慰 | 久久伊人av| 嫩草导航 | 中文字幕一区二区三区在线视频 | 爱爱的网站 | 污污视频免费网站 | 农夫色综合 | 乱色精品无码一区二区国产盗 | 爽爽窝窝午夜精品一区二区 | 国产亚洲欧美一区二区 | 青草成人免费视频 | 69精品在线观看 | 91一区二区三区四区 |