我正在尝试在网络上发现我的应用。所以我选择multicast
技术。但它在Android中不一致。
<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" />
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mcastLock = wifiManager.createMulticastLock("SHAREALL_M_LOCK");
mcastLock.acquire();
MulticastSocket socket = new MulticastSocket();
socket.joinGroup(InetAddress.getByName("224.0.0.5"));
DatagramPacket packet = new DatagramPacket(msg, msg.length, InetAddress.getByName("224.0.0.5"), 8092);
socket.send(packet);
MulticastSocket socket = new MulticastSocket(8092);
socket.joinGroup(InetAddress.getByName("224.0.0.5"));
DatagramPacket packet = new DatagramPacket(data,data.length);
socket.receive(packet);
我已经在三星Gallaxy SII和Moto G中测试了这些代码。