Получать данные из буфера при программировании сокетов

Пожалуйста , посмотрите эту картину. recvfrom() блокирует, пока датаграмма не получена от клиента. Поскольку соединение отсутствует, каждая датаграмма может быть получена от другого отправителя.

я могу получить приемник данных, но я не знаю, как сервер может найти данные для какого клиента? потому что это возможно 8.8.8.8 клиент посылает 3 дейтаграммы и сервер должен сортировать data.do сервер выделяет определенный буфер для каждого клиента?

1 ответ

Решение

Лучше всего разработать протокол так, чтобы сообщение содержало некоторый идентификатор источника. В противном случае вы можете использовать исходный IP-адрес и порт для определения клиента, хотя это приведет к поломке при изменении IP-адреса клиента.

Другие вопросы по тегам