[問題] android udp broadcast無法接收

作者: mikukonn (mikukon)   2016-08-03 17:47:08
想要請問各位大大有關udp廣播的問題
目前想要使用手機使用廣播尋找目前區域網路內的server
server使用nodejs 建置
手機部分目前使用genymotion模擬器
現在的問題是
server端廣播手機端無法接收
cellphone -> server ok
cellphone -> cellphone ok
server -> server ok
我想這大概是手機的防火牆擋住了UDP封包所致
於是稍微的去爬了一下文
在 main thread 中加入了
WifiManager manager =
(WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiManager.MulticastLock lock=
manager.createMulticastLock("localWifi");
lock.acquire();
結果還是不行
請問各位大大以前有遇到相同的問題可以給小弟參考的解決方法嗎?
client(java) : http://pastebin.com/PVNb7SQM
server(nodejs) : http://pastebin.com/SdM43aUf
作者: y3k (激流を制するは静水)   2016-08-03 19:34:00
手機版本?
作者: mikukonn (mikukon)   2016-08-03 21:34:00
呀抱歉,SDK版本為5.0,手機有在5.0的模擬器與5.1的三星手機上實際操作過另以加入INTERNET WIFI_MULTICAST_STATE NETWORK_STATE權限
作者: y3k (激流を制するは静水)   2016-08-04 22:20:00
我看了一下Code 應該是你沒有.joinGroup()的原因
作者: mikukonn (mikukon)   2016-08-06 19:25:00
請問.joinGrop()裡面應該填哪個IP位置呢?另 裡面有兩個socket,如果用另外一個應該是沒有.joinGrop()的問題才對

Links booklink

Contact Us: admin [ a t ] ucptt.com