组播绑定接口问题

时间:2011-11-02 06:31:58

标签: boost multicast

我有一个我很困惑的问题。 例如,如果我想加入多播组239.255.0.1:30001来接收数据。我应该绑定哪个接口?我看到有人说绑定到多播地址239.255.0.1:30001。如何绑定到本地机器接口,如eth0 / eth1?

1 个答案:

答案 0 :(得分:1)

这取决于你所针对的操作系统。

  • 对于Windows,绑定到本地计算机接口
  • 对于Linux& Mac / iOS(以及可能是BSD风格套接字的其他用户)绑定到多播地址
  • 对于那些在Windows和Windows上都能正常工作的代码。 Linux,绑定到INADDR_ANY(0)。请注意,您可能必须过滤掉不需要的流量。此外,这不适用于Mac / iOS。