2

メッセージを受信するために 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} をチェックしましたが、何も役に立ちません。その理由は何ですか?

ありがとう、マティアス。

4

1 に答える 1

0

次のオプションを追加してみました{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}}}, {ip,{224,0,0,251) }},{multicast_ttl,4},{multicast_loop,false},binary])。

{ok,#Port<0.454>}

于 2009-12-14T16:10:20.667 に答える