Извлекать потоки с многоадресного адреса UDP - PullRequest
1 голос
/ 27 июня 2011

Я пишу программу, которая получает потоки UDP, которые отправляются по адресу группы многоадресной рассылки. Предположим, у меня есть адрес типа udp://249.0.0.1. По этому адресу я получаю два потока на два разных порта, скажем, 2500 и 2600. Мне нужно написать программу на C, которая выбирает оба потока с другого порта в рамках одной программы. Можете ли вы предложить отправную точку (учебные пособия, полезные API, ...)?

1 Ответ

1 голос
/ 13 июля 2011

Создайте 2 UDP-сокета, зарегистрируйте оба для многоадресного адреса.

Вы можете выбрать данные с помощью:

  • 2 процессов (форка), блокирующих сокетов.
  • 2 резьбы (pthread), блокирующие розетки.
  • 1 резьба, неблокирующие розетки.Для демультиплексирования вам нужно выбрать, опросить или epoll.
...