【问题标题】:DatagramSocket.receive() is called more than onceDatagramSocket.receive() 被多次调用
【发布时间】:2019-09-19 12:15:11
【问题描述】:

我正在尝试通过 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() 发送一个数据包时,方法返回但在下一个循环中它不会被阻塞等待下一个数据包。它无限返回相同的数据包,但客户端不再发送任何数据包。

【问题讨论】:

  • 显示客户端代码。

标签: java android sockets udp


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-06-08
    • 2010-10-24
    • 2011-10-18
    • 2020-10-19
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多