Не в состоянии открыть сокет для многоадресной рассылки - PullRequest
1 голос
/ 14 декабря 2009

У меня проблемы с открытием многоадресного сокета в Erlang для получения сообщений:

88> gen_udp:open(5353,[{reuseaddr, true}, {ip,{224,0,0,251}},{multicast_ttl,4},{multicast_loop,false},binary]).
{error,eaddrnotavail}

Я проверяю разные IP-адреса и порты и параметр {active, false}, но ничего не помогает. В чем может быть причина?

Спасибо, Матиас.

1 Ответ

0 голосов
/ 14 декабря 2009

Вы пытались добавить опцию {add_membership, {Addr, LAddr}}, где:

  1. Addr - рассматриваемая многоадресная группа (например, 224.0.0.251)
  2. LAddr - локальный интерфейс (например, 0.0.0.0 для интерфейса по умолчанию)

1> gen_udp: open (5353, [{reuseaddr, true}, {add_membership, {{224, 0,0, 251}, {0, 0, 0, 0}}}, {Ф, {224,0,0,251}}, {multicast_ttl, 4}, {multicast_loop, ложь}, двоичный]).

{хорошо, # Port <0,454>}

...