【问题标题】:Connect to remote UDP multicast service连接到远程 UDP 多播服务
【发布时间】:2011-04-23 11:33:42
【问题描述】:
如果我有服务所在的 IP 地址(例如 70.70.70.70)、要连接的多播组(例如 224.25.25.25)和端口(例如 2020),如何连接到远程 udp 多播?
我使用 ACE 框架,在嗅探器中我看到 ACE 将 IGMP 数据包发送到224.0.0.2,以便加入一个组,但我的家庭路由器(检查点)不知道如何处理它。
【问题讨论】:
标签:
c++
networking
udp
multicast
ace
【解决方案1】:
很少制造和配置路由器来支持将多播数据包重新发送到其他网络。换句话说,多播通常只通过一个子网工作。在大多数情况下,Internet 上的多播基于在对等方之间建立 TCP 连接并在该 TCP 连接之上使用某种传输方式发送消息(查找有关面向消息的中间件的信息)。
如果您有一些特定的服务器,欢迎您加入它的多播,也许您可以提供有关此服务器提供的内容以及需要配置的内容的更多详细信息。
【解决方案2】:
我只看到本地子网上的多播工作,所以一个好的第一个测试是在本地计算机上设置多播服务,看看它是否有效。我从来没有成功让多播用于远程服务,只有在所有路由器都可以控制的地方,比如在公司防火墙后面。似乎它应该工作,我想看看一般案例工作的例子......
【解决方案3】:
您需要 IP 隧道,一个基本的 VPN 服务可以工作,但根据您的配置,您可能需要高于它的多播路由。向 serverfault 或超级用户寻求更多帮助。
【解决方案4】:
我有一个服务的 IP 地址
居住(比如 70.70.70.70)
你不需要那个。
要连接的多播组(比如
224.25.25.25)
你需要那个。您需要使用该地址发出加入组操作。
和端口(比如 2020 年)?
您应该在该端口有一个 UDP 套接字侦听。