问题是我有一个JAVA程序,它使用相同的端口打开MulticastSocket,然后调用joinGroup(多播地址)。每个套接字都有一个不同的多播地址。
机器已在其界面中启用了ipv4。
行为是接收多播消息,但IP目的地与Socket打开的不同(套接字具有相同的端口)。
另一方面,如果在接口中启用ipv6,则仅在具有IP destintation + Port的套接字中接收具有相同端口的消息。
示例:
与ipv4接口:
插座A:IP(224.0.0.3)+ PORT(28200)
插座B:IP(224.0.0.2)+ PORT(28200)
我通过PORT(28200)和IP目的地(224.0.0.3)发送多播消息。
结果:我在两个套接字中都收到了消息。
如果我将机器界面更改为ipv6,我只会在Socket A中收到该消息。