首页 > 解决方案 > 获取 IPV6 地址时的错误 Java java.net.NetworkInterface

问题描述

我尝试使用以下方法获取 IPV6 地址:

Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
  NetworkInterface iface = interfaces.nextElement();
  if (iface.isLoopback() && !includeLoopback || !iface.isUp()) {
    continue;
  }
  Enumeration<InetAddress> addresses = iface.getInetAddresses();
  while (addresses.hasMoreElements()) {
    InetAddress addr = addresses.nextElement();
    inetAddresses.add(addr.getHostAddress());
  }
}

这打印:fe80:0:0:0:250:56ff:fe85:5cb2%eth0

当我执行 ifconfig 时,它会将以下内容作为 ipv6 地址提供为 - fe80::250:56ff:fe85:5cb2/64

我在哪里失踪?帮助将不胜感激。谢谢!

标签: java

解决方案


IPV6 标准 说:

:: 等于 :0:0:0:


推荐阅读