Android UDP广播包抓取
16lz
2021-01-23
只是贴代码,以前写的突然忘记了.
private WifiManager.MulticastLock multicastLock; public void init(Context context){ WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 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();//一定要释放 } return null; }
权限加入
<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】Android permission 访问权限
- Android 购物车加减功能的实现代码
- Android几个常用功能代码(校园助手开发笔记)
- Android小代码——设置全屏
- Android 修改系统时间代码
- android启动其他应用的一段代码
- android 文件目录权限
- android 6.0权限问题处理的核心代码--shouldShowRequestPermissi
- Android 添加新的联系人代码