UDP-сокет и несколько ответов - PullRequest
0 голосов
/ 01 апреля 2012

Я ученик, поэтому, пожалуйста, будьте терпеливы и ясны. Я пишу эхо-клиент с сокетами Java (DatagramSocket).

После того, как клиент отправит сообщение на эхо-сервер, сервер намеренно отправляет 1-10 копий сообщения обратно для имитации дублирования сообщения в UDP.

Однако мой код может принимать только первое из отправленных сообщений, но не полный номер, отправленный сервером. Мой код получения выглядит так:

socket.receive(receivePacket);

Как бы поставить моего клиента в состояние, в котором вы можете ввести строку для эха, скажем "Привет", она затем отправляется на сервер, но затем может получить все ответы? Я предполагаю, что все они возвращаются к клиенту (я проверяю это на моей локальной машине, чтобы не было потерь)

1 Ответ

3 голосов
/ 01 апреля 2012

Вызовите socket.receive еще раз для получения дополнительных пакетов. Установите время ожидания , чтобы подождать разумное количество времени, прежде чем решить, что сервер отправил все свои пакеты.

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