2013-10-21 136 views
2

我目前正在使用網絡上的多播在網絡上發送消息(從一個Android設備)到網絡上的所有其他Android設備(包括其自身)。Android Wifi Direct多播問題

當兩部手機都通過本地WiFi網絡連接時,它可以按需要工作。 I.e電話發送消息,電話A和電話B都收到該消息。但是,最終目標是通過WiFi-Direct連接手機。

因此,我將兩個設備連接在一起,並再次嘗試相同的過程,但這次只有發送我正在廣播的數據包的電話纔會收到它。即電話A發送消息並接收它,但電話B不接收來自電話A的消息。

因此,我的最終問題是組播是否在Android設備之間使用WiFi-Direct時工作?其他人在Android平臺上遇到WiFi-Direct和Multicast的問題嗎?

+0

感謝您的回覆。所以我的目標是在每個設備上同時收到(給予或者花費幾毫秒)的消息。是否可以將消息完全同時發送到每個設備,還是必須在循環中一個接一個地發送消息? –

+0

如果您仔細閱讀鏈接的文檔,應該非常清楚您需要如何處理它。是的,如果多播不可用,則需要自己處理分發。如果您在「幾毫秒內」內容忍 - 我不會擔心環路引起的抖動 - 這是套接字通信的永恆。 – 323go

+0

@ 323go我不明白。您不需要在子網內使用路由器進行組播。您需要一臺路由器來組播*其他*子網。 – EJP

回答

3

類似的問題已經被問,請參閱我的回答有:Android Wi-Fi Direct Network

綜上所述:組播理論上應該在的Wi-Fi Direct的工作,但一些Android設備阻止堆棧上的傳入非單播流量水平。由於您在使用普通Wi-Fi時已經在設備上工作,這似乎是另一個問題。確保你獲得了一個MulticastLock。我在鏈接的答案中提供了一種使用單播的替代解決方案。