我看到两个不同的多播流到达我的计算机,它们具有相同的组地址 226.a.b.c
,但端口 A
和 B
不同。
我只需要其中一个(例如A
)。
因此,我将套接字绑定(bind)
到226.a.b.c:A
,并使用setsockopt IP_ADD_MEMBERSHIP
现在我希望只接收发送到端口 A
的数据包,并将丢弃发送到端口 B
的所有数据包。我是正确的还是这个配置有问题?
最佳答案
是的,绑定(bind)套接字将仅接收地址为 226.a.b.c:A 的数据包。 发送到 226.a.b.c:B 的数据包仍然可以被其他套接字接收(甚至在另一个进程中),也就是说,它们不一定会被丢弃。
关于linux - 两个组播流共享相同的组地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30672251/