Программирование сокетов в UDP - PullRequest
0 голосов
/ 23 октября 2019

У меня есть 2 сервера и клиент. Существует два способа связи между сервером и клиентом. Нужно ли мне несколько сокетов на клиенте для связи с серверами? Я использовал только один сокет, и несколько пакетов с серверов отсутствуют. Сколько сокетов мне нужно для связи с сервером?

1 Ответ

1 голос
/ 23 октября 2019

С UDP вам почти всегда нужен только один сокет;Вы можете вызвать sendto() и recvfrom() на нем, чтобы отправлять и получать пакеты UDP из любой точки.

Что касается пропущенных пакетов UDP, то это факт жизни с UDP;Пакеты UDP могут и иногда будут отбрасываться на любом этапе пути от отправителя и получателя. Вам нужно будет спроектировать ваше приложение, чтобы это терпеть, или, в качестве альтернативы, придумать механизм, с помощью которого получатель может обнаружить, что пакет был потерян, и запросить повторную отправку (или каким-то другим образом обработать эти ситуации).

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