1

想象有 processA和 processes Band C,我希望它们都将消息多播到X.Y.Z.Wport上的组P,并A同时监听该组上的这些消息。是否可以A接收来自BC不接收自己的消息?换句话说,如果我禁用环回(为了A不接收它正在多播的消息)它是否仍会接收来自它的消息BC或者这是否会有效地导致它甚至不再监听X.Y.Z.W端口P

4

2 回答 2

1

是的,它会像你描述的那样工作。我们在 RSP[1] 中以与任意可靠多播完全相同的方式使用它。

[1] http://www.equalizergraphics.com/documents/design/multicast.html#RSP

于 2012-11-18T12:35:39.883 回答
0

从我从文档中可以看出,该IP_MULTICAST_LOOP选项在主机级别运行,而不是单个套接字。因此,如果禁用它,发送主机上的任何进程都不会收到多播数据包;如果启用它,发送主机上的所有进程都会收到它。

A 可以做的是检查它收到的数据包的源 IP 和端口。如果它们匹配其发送套接字的本地 IP 和端口,它应该忽略它们。

于 2012-11-17T07:57:57.863 回答