【问题标题】:boost::asio multicast exampleboost::asio 多播示例
【发布时间】:2012-10-26 08:05:19
【问题描述】:

我刚刚开始阅读有关使用 boost::asio 进行多播传输的信息,但我对以下内容感到有些困惑:

为什么我们在下面的 boost::asio 示例中需要一个“监听地址”?那有什么意义呢?为什么要选择与 localhost 不同的东西?

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/receiver.cpp

【问题讨论】:

    标签: c++ sockets boost boost-asio multicast


    【解决方案1】:

    当您有多个网络接口卡(每个 NIC 绑定到不同的 IP 地址)时,需要指定侦听 IP 地址。

    【讨论】:

      【解决方案2】:

      在你的公寓里...

      当您在家中使用笔记本电脑工作时,您可能不在乎。主要目标通常是将任何东西连接到您机器中想要连接的所有东西,在这种情况下localhost 就可以了。

      ...但服务器确实在乎!

      另一方面,高端服务器通常有多个网卡。更好的是,高性能网卡通常具有多个物理插头,并且它们都可能在不同的 DHCP 租约下处于活动状态。

      服务器通常也是公共和专用网络的一部分,可能包括也可能不包括具有自己的子网和可访问性参数的 VPN。系统管理员经常考虑这些地址,并且他们深深地关心每个服务可用的特定地址。是私人服务吗?是否存在不应发出这些请求的不受信任的子网?

      这些问题涉及安全和系统组织两个方面。它并非特定于多播:the UNIX bind system call 也出于上述所有原因采用特定地址。

      【讨论】:

        猜你喜欢
        • 2018-12-03
        • 2016-12-23
        • 1970-01-01
        • 1970-01-01
        • 2012-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-21
        相关资源
        最近更新 更多