DatagramSocket.receive () вызывается более одного раза - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь получить пакет по протоколу 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 голосов
/ 01 мая 2019

Проблема была с определенной ошибкой сети эмулятора. На реальном устройстве все отлично работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...