Я пытаюсь отправить команды с использованием UDP. Приемник должен получать дейтаграмму UDP и отвечать. Однако я бы хотел, чтобы ответ всегда отправлялся в исходный порт отправителя. Я знаю, как разбирать порт (заголовок структуры и перемещать указатель в нужную позицию ...), однако я ищу функцию, которая возвращает весь полученный кадр, включая заголовки, а не только датаграмму/данные.Получение дейтаграммы UDP и порта источника анализа
ответ
Как насчет функции recvfrom()
? Он позволяет захватывать данные и заполняет структуру sockaddr
, из которой вы можете найти исходный порт отправителя.
hmm не знал, что recvfrom() заполнит sockaddr. Спасибо за ответ. Я немного новичок в программировании сокетов. –
Просто попробовал. Намного легче, чем я думал. Спасибо –
@hhachem Добро пожаловать :) – Xaqq
Почему вы хотите использовать UDP для этого? – zoska
Я использую многоадресную рассылку UDP. UDP представляется более удобным при обращении к большому количеству приемников. Конечно, TCP работает тоже. Но данные не так критичны. –