Android设备无法在DatagramSocket上接收数据
我有两个安卓设备,一个IP地址为10.0.0.6,另一个IP地址为10.0.0.9,我可以在我的电脑上ping这两个设备 我从10.0.0.6 UDP包发送广播消息,并用wireshark验证 广播地址为10.0.0.255 DatagramSocket套接字=新DatagramSocket(3400) 然而,我的另一台安卓设备没有收到来自广播消息的任何信息 DatagramSocket套接字=新DatagramSocket(3400)Android设备无法在DatagramSocket上接收数据,android,sockets,Android,Sockets,我有两个安卓设备,一个IP地址为10.0.0.6,另一个IP地址为10.0.0.9,我可以在我的电脑上ping这两个设备 我从10.0.0.6 UDP包发送广播消息,并用wireshark验证 广播地址为10.0.0.255 DatagramSocket套接字=新DatagramSocket(3400) 然而,我的另一台安卓设备没有收到来自广播消息的任何信息 DatagramSocket套接字=新DatagramSocket(3400) 它永远不会从套接字返回。接收 如果您不使用广播,而是将数据
它永远不会从套接字返回。接收 如果您不使用广播,而是将数据包直接发送到设备上,它是否有效?在您的局域网上是否有路由器?默认情况下,大多数路由器都会阻止UDP广播。
socket.setBroadcast(true);
byte[] buf = ("Hello from Android").getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, getBroadcastAddress(), 3400);
socket.send(packet);
byte[] buf = new byte[30];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);