我正在尝试在具有Windows 7操作系统的本地系统上测试java程序以获得IPv6支持.我已经分配了IPv6地址,并在网络连接中禁用了IPv4.
当我执行ipconfig命令时,我得到IPv6地址作为输出.
但是,当我执行下面的java代码时,我得到的127.0.0.1是IPv4地址
System.setProperty("java.net.preferIPv6Stack","true");
InetAddress addr = InetAddress.getLocalHost();
System.out.println(addr.getHostAddress());
Run Code Online (Sandbox Code Playgroud)
根据我的理解,上面的代码应该打印出来0:0:0:0:0:0:0:1.
我错过了什么吗?
问题解决了.我设置错误的系统属性.需要设置的正确系统属性是
System.setProperty("java.net.preferIPv6Addresses","true")
Run Code Online (Sandbox Code Playgroud)
设置此属性后,将显示在"网络连接"中分配的IPv6地址.
可以使用以下代码检索IPv6环回地址.
InetAddress.getLoopbackAddress().getHostAddress()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4239 次 |
| 最近记录: |