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 回答