单播响应多播?

时间:2012-01-20 02:14:16

标签: c++ networking udp multicast

这可能是一个愚蠢的问题(但我是多播的新手)。我有一个产生两个线程的进程 - 一个用于侦听多播IP(listener),另一个用于向其广播(speaker)。我打算介绍其中的许多流程。

我的问题是,如果listener收到多播数据包,是否可以向“speaker发送它的进程发送单播响应,而无需打开新的单播风格套接字?”

编辑:至少,我可以提取speaker组播数据包的IP地址并连接到某个进程可能正在侦听的单播风格端口,对吗?

1 个答案:

答案 0 :(得分:3)

  编辑:至少,我可以拉取扬声器组播数据包的IP地址并连接到某个进程可能正在侦听的单播风格端口,对吗?

多播数据包(实际上是任何IP数据包)都有源IP和目标IP,多播的唯一区别是目标地址是组,而不是计算机,从224.0.x.x开始。 源始终是发送方的真实IP(除非它在NAT后面,在这种情况下它将是网关的IP地址)。

这意味着您可以提取发件人的IP,并且 IF 此发件人具有服务器(==收听)套接字,并且所有网络配置(转发表和防火墙)都允许访问那个套接字,你将能够用它启动一个TCP会话......