我们在 OSX 下开发 Java 应用程序已有一段时间了。自从切换到 OSX Lion(现在为版本 10.7.1)以来,我们发现多播数据包进入位存储桶时不时会出现问题,但我们不知道原因。这些是位于同一 VM 中通过环回连接的单元测试。有时禁用接口可以解决此问题。有时则不能。
我目前唯一的猜测是,这与不同接口上的多播成员身份有关。我注意到,即使接口处于离线状态(未插入 RJ45 或禁用 wifi),多播组仍会连接到该接口。这样正确吗?
IPv4 Multicast Group Memberships
Group Link-layer Address Netif
224.0.0.251 <none> lo0
224.0.75.75 <none> lo0
228.10.0.10 <none> lo0
224.0.0.1 <none> lo0
224.0.0.251 1:0:5e:0:0:fb en1 << offline
224.0.75.75 1:0:5e:0:4b:4b en1 << offline
224.0.0.1 1:0:5e:0:0:1 en0
224.0.0.251 1:0:5e:0:0:fb en0
224.0.75.75 1:0:5e:0:4b:4b en0
有什么方法可以调整这些成员资格吗?我尝试了各种命令route
(del 和其他)和ifconfig
(up/down),但无济于事。我是不是搞错了方向?
谢谢。
编辑:
事实证明,如果我通过有线以太网拔掉和禁用 Wifi 后,我的测试可以通过多播发现对方。但如果启用任一接口,则不起作用。