mag*_*tic 7 java network-programming java-7
Java 7为类添加了一个新的静态方法java.net.InetAddress:
static InetAddress getLoopbackAddress()
Returns the loopback address.
Run Code Online (Sandbox Code Playgroud)
现在我想知道结果中包含哪个地址,IP4或IP6.
该文件是关于这个问题有些模糊:
返回的InetAddress将表示IPv4环回地址127.0.0.1或IPv6环回地址:: 1.返回的IPv4环回地址只是表单127中的许多地址之一.*.
Java如何决定是返还127.0.0.1还是IPv6挂件::1?
或者它们都由相同的InetAdress对象表示?
结果总是一样吗?它取决于我的网卡吗?
我相信这里给出的其他答案是错误的.
默认情况下,Java 更喜欢IPv6堆栈(如果可用),但更喜欢IPv4地址.注意细微差别.这由java.net.preferIPv4Stack和java.net.preferIPv6Addresses系统属性控制,两者都默认为false.
因此,InetAddress.getLoopbackAddress()几乎总是返回IPv4地址.您必须将java.net.preferIPv6Addresses系统属性设置为true,以使其返回IPv6地址.
我没有看到JDK源中此方法的结果有任何OS依赖性.我想不出Java不会(使用默认设置)返回此方法的IPv4地址的操作系统.
| 归档时间: |
|
| 查看次数: |
6339 次 |
| 最近记录: |