【问题标题】:Sending multicast data to group members listening on different ports向侦听不同端口的组成员发送多播数据
【发布时间】:2014-12-09 12:10:24
【问题描述】:

如果我有组播组成员 239.0.0.1:1000 和 239.0.0.1:2000,是否可以在单个组播中将数据从源发送到这两个成员?是否有任何 C 函数可用于在一次调用中发送到这两个套接字?

编辑:

这是我的场景。 我有 n 台主机。为简单起见,我们假设有 5 个主机(A、B、C、D 和 E)。这些主机分别监听 1000、2000、3000、4000 和 5000 端口。现在说,A 有孩子 B 和 C,B 有孩子 D 和 E。C,D 和 E 没有孩子。我想要做的是将孩子分组在同一个多播组中,以便父母可以在一次传输中发送数据。此外,孩子使用单播消息向其父母发送数据。由于这些节点已经在上述端口上侦听单播数据,因此我正在寻找一种将这些端口添加到多播组的方法(从而避免在每个主机中创建新套接字)。

【问题讨论】:

  • 没有。为什么他们监听不同的端口?修复它。
  • @EJP 实际上,我已经有两台主机在监听 1000 和 2000 上的数据。这些节点在这些端口上接收单播数据。现在我正在尝试找到一种方法来将数据发送到这两个主机,而无需为多播创建任何其他套接字。有没有其他方法可以在不创建新套接字的情况下做到这一点?

标签: sockets udp multicast


【解决方案1】:

您的问题和评论没有意义。在端口 1000 和 2000 上接收单播数据的节点根本不会收到多播数据。您必须重新编码它们才能加入多播组,这将是您统一端口号的更改。对此你别无选择。

虽然如果只有两台主机,多播似乎根本不值得。

【讨论】:

  • 不会改变任何东西。您必须使用单个端口进行多播。
猜你喜欢
  • 1970-01-01
  • 2011-12-21
  • 2018-02-08
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
相关资源
最近更新 更多