是 InetAddress.getHostAddress()的IPv6兼容的JDK 1.6?
具体而言我正在做
InetAddress.getLocalHost().getHostAddress()
Run Code Online (Sandbox Code Playgroud)
它是否符合ipv6标准?它对ipv4和v6地址都有效吗?
扩展类java.net.Inet6Address符合IPv6.
JavaDoc的:
此类表示Internet协议版本6(IPv6)地址.RFC 2373:IP版本6寻址架构定义.
基本上,如果您这样做,InetAddress.getByName()或者InetAddress.getByAddress()方法确定名称或地址是IPv4还是IPv6名称/地址,并分别返回扩展Inet4Address/ Inet6Address.
至于InetAddress.getHostAddress(),它返回null.您将需要java.net.Inet6Address.getHostAddress()返回IPv6字符串可表示的地址.
我查看了 InetAddress 类的代码,它确实做了正确的事情。
if (isIPv6Supported()) {
o = InetAddress.loadImpl("Inet6AddressImpl");
}
else {
o = InetAddress.loadImpl("Inet4AddressImpl"); }
return (InetAddressImpl)o;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12096 次 |
| 最近记录: |