【问题标题】:Receiving Multicast From Different Ports从不同的端口接收组播
【发布时间】:2011-11-23 02:42:26
【问题描述】:

基本上我有一个应用程序,它在同一个接口和同一个应用程序内创建了 5 个多播套接字,每个套接字绑定到不同的多播 IP 地址/端口。当这些套接字中的任何一个发送消息时,应用程序中的其他 4 个套接字最终会读取该消息。这是正常行为吗?

这发生在使用 boost.asio 和 gcc 4.6 的 Ubuntu 11.10 中。

【问题讨论】:

    标签: c++ networking udp boost-asio multicast


    【解决方案1】:

    在某些操作系统中这是正常的 ;-) 您可以使用 setsockopt() 和 IP_MULTICAST_LOOP 选项将其关闭。

    【讨论】:

      【解决方案2】:

      对我来说听起来很奇怪。如果您使用的是 UDP,那么您应该只接收与 UDP 套接字端口号相关的消息。当然,如果您在 IP 级别使用多播,那么端口号就无关紧要了。

      如果没有禁用环回,环回将导致程序接收自己的消息,这是完全正确的(根据 EJP)。但是,UDP 端口号仍然适用。发送到端口 x 的多播 UDP 消息不应被侦听端口 y 的套接字接收。

      【讨论】:

        猜你喜欢
        • 2015-07-12
        • 1970-01-01
        • 1970-01-01
        • 2021-09-05
        • 1970-01-01
        • 2012-03-04
        • 1970-01-01
        • 2014-07-21
        • 2011-02-14
        相关资源
        最近更新 更多