Java 7中增加了一个新的静态方法的类java.net.InetAddress
:静态InetAddress.getLoopbackAddress()返回什么?
static InetAddress getLoopbackAddress()
Returns the loopback address.
现在我不知道地址将被包含在结果中,IP4或IP6之一。
的documentation是关于该主题的位雾:
InetAddress是否返回将代表IPv4的环回地址,127.0.0.1,或IPv6环回地址,:: 1。返回的IPv4回送地址仅为127. 中的许多格式之一。。*
怎样的Java决定是否返回127.0.0.1
或IPv6的吊坠::1
?
或者它们是否都由相同的InetAdress对象表示?
结果总是一样吗?它取决于我的网卡吗?
不确定这是否正确。至少在Java 7中,默认设置是首选IPv6 ** stack **,但是更喜欢IPv4 **地址**(注意不同之处)。这意味着'InetAddress.getLoopbackAddress()'会在大多数现代操作系统中默认返回一个IPv4地址。有[两个不同的属性](http://docs.oracle.com/javase/7/docs/technotes/guides/net/ipv6_guide/#ipv6-networking)来控制这一点。 – peterh
我非常肯定EJP是完全正确的,他只是在他的回答中“IPv4”后面隐藏了隐含的“地址”。如果存在IPv6堆栈(如果您阅读链接,在将首选堆栈设置为IPv4时将*删除*属性,但IPv4地址不是首选),则IPv6地址将默认为。 – codetaku