UDP-сокеты с одинаковым портом

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Abyrvalg
мл. сержант
Сообщения: 118
Зарегистрирован: 2009-03-04 10:24:44

UDP-сокеты с одинаковым портом

Непрочитанное сообщение Abyrvalg » 2018-09-12 12:31:24

Привет, All!

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

Код: Выделить всё

      u_int yes=1;

      /* allow multiple sockets to use the same PORT number */
      if (setsockopt(fd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(yes)) < 0) {
         perror("Reusing ADDR failed");
         exit(1);
      }
И тем не менее, если я запускаю параллельно две копии программы и заставляю слушать их разные мультикасты с одним и тем же портом (напр., 235.5.2.6:1234 и 235.5.2.211:1234), то более поздний экземпляр программы тут же вываливается с ошибкой bind: Address already in use.

Как это можно побороть?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/