Получение адреса получателя сообщения - сокет C - PullRequest
0 голосов
/ 15 марта 2011

У меня есть несколько процессов UDP многоадресной рассылки друг другу сообщений. Я использую recvfrom () для чтения входящих сообщений. Есть ли способ узнать адрес получателя сообщения, аналогичный получению адреса «из» в recvfrom? Я думал, что таким образом я могу различить сообщения, отправленные группе и отправленные конкретному процессу. Все это Unix / Linux и C. Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Я посмотрел подробности о recvmsg () и написал нечто очень похожее на это: http://groups.google.com/group/comp.os.linux.development.system/msg/e09d9c278c7e6fe1. Но главное было использовать recvmsg (). Спасибо.

0 голосов
/ 15 марта 2011

Вы спрашивали о программировании общих сокетов, но если вы работаете в Windows, возможно, вам удастся заставить WSARecvMsg работать на вас.После получения дейтаграммы WSARecvMsg предоставит вам структуру WSAMSG, в которой член dwFlags будет включать MSG_MCAST или MSGBCAST, в зависимости от ситуации.На других платформах вы сможете найти что-то похожее.Тем не менее, это довольно низкий уровень для сокетов, так что я не был бы очень оптимистичен.Надеюсь, кто-нибудь лучше вас проинформирует, чем я!

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