在windows下查看加入的组播组

问题描述:在windows下一个正确的组播测试程序发送与接收不成功,猜测原因是网卡过多,与组播地址绑定的IP地址不正确,但用Linux的命令netstat
-g,并不被支持。搜了一下,应该用以下命令 netsh interface ipv4 show joins

查看ipv4加入的组播地址组
在windows下查看加入的组播组_第1张图片

那么在Java中如何象C++那样指定IP地址?

实际上MulticastSocket类的初始构造函数本身就支持绑定指定IP地址,见下图。在maven代码中点击SocketAddress,可以查看其数据结构,发现SocketAddress有一个子类,inetSocketAddress,其有两个成员函数,一个是主机名(IP地址),另一个是端口,定义一SocketAddress(纯虚类)的类实例,但new的是子类inetSocketAddress,然后对其赋值。再次运行即可。

-实际上再次运行时并没有真正绑定到指定IP,还是靠把其它网卡都禁用才成功的。时间因素没有多试。

-不过,如果绑定的IP并不存在,程序还是会报错的。说明这条语句还是认真执行的。
在windows下查看加入的组播组_第2张图片

你可能感兴趣的:(在windows下查看加入的组播组)