DatagramSocket.receive()被多次调用

时间:2019-04-30 19:34:57

标签: java android sockets udp

我正在尝试通过UDP协议接收数据包。

try {
    datagramSocket = new DatagramSocket(SOCKET_PORT);
    datagramSocket.setBroadcast(true);
    while (true) {
       byte[] receiveData = new byte[1024];
       DatagramPacket packet = new DatagramPacket(receiveData, 
       receiveData.length);
       datagramSocket.receive(packet);
       //...
    }
} catch (Exception ex) {
    ex.printStackTrace(); 
}

当我从客户端receive()发送数据包时,将返回方法,但在下一个循环中,它不会被阻塞等待下一个数据包。它无限地返回相同的数据包,但是客户端不再发送任何数据包。

1 个答案:

答案 0 :(得分:0)

问题出在特定的仿真器网络错误上。在真实设备上一切正常