Just paste the code, the previous write suddenly forget.
Private Wifimanager.multicastlock Multicastlock; public void init (context context) {Wifimanager Wifimanager = (wifimanager) context.getsystemservice (context.wifi_s Ervice); Multicastlock = Wifimanager.createmulticastlock ("my_net"); } public byte[] Fetchdata () {try {multicastlock.acquire (); MulticastSocket multicastsocket = new MulticastSocket (55551); InetAddress Group = inetaddress.getbyname ("224.0.0.2"); Multicastsocket.setsotimeout (3000); Multicastsocket.joingroup (group); Multicastsocket.setloopbackmode (TRUE); byte[] buffer = new BYTE[512]; Datagrampacket packet = new Datagrampacket (buffer, buffer.length); Multicastsocket.receive (packet); return buffer; } catch (Exception e) {e.printstacktrace (); } finally {multicastlock.release ();//Must be released} return null; }
Permission to join
<uses-permission android:name= "Android.permission.INTERNET"/> <uses-permission android:name= " Android.permission.ACCESS_NETWORK_STATE "/> <uses-permission android:name=" android.permission.ACCESS_ Wifi_state "/> <uses-permission android:name=" Android.permission.CHANGE_WIFI_MULTICAST_STATE "/> <uses-permission android:name= "Android.permission.CHANGE_WIFI_STATE"/> <uses-permission Android:name= "Android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name= " Android.permission.CHANGE_WIFI_MULTICAST_STATE "/>
Android UDP broadcast Packet crawl