上面的JDK 1.5可以很好地返回IPV6地址。但JDK1.4.2仅返回IPV4地址。操作系统是Windows XP和Windows 7.任何人都设法在JDK 1.4.2上获取IPV6地址吗?
NetworkInterface iface = null;
for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces
.hasMoreElements();) {
iface = (NetworkInterface) ifaces.nextElement();
InetAddress ia = null;
for (Enumeration ips = iface.getInetAddresses(); ips
.hasMoreElements();) {
ia = (InetAddress) ips.nextElement();
System.out.println(ia.getHostName());
}
}
我怀疑java.net.InetAddressImplFactory中有这个本机代码。
private static native boolean isIPv6Supported();
由于JDK1.4.2是很久以前开发的,因此它可能与Windows中的本机库不兼容以获取IPV6地址。这是对的吗?