This commit is contained in:
Looly 2019-10-16 09:59:50 +08:00
parent ab4f58bb31
commit 106556248d

View File

@ -312,7 +312,7 @@ public class NetUtil {
return null; return null;
} }
return CollectionUtil.addAll(new ArrayList<NetworkInterface>(), networkInterfaces); return CollectionUtil.addAll(new ArrayList<>(), networkInterfaces);
} }
/** /**
@ -322,13 +322,7 @@ public class NetUtil {
* @return IP地址列表 {@link LinkedHashSet} * @return IP地址列表 {@link LinkedHashSet}
*/ */
public static LinkedHashSet<String> localIpv4s() { public static LinkedHashSet<String> localIpv4s() {
final LinkedHashSet<InetAddress> localAddressList = localAddressList(new Filter<InetAddress>() { final LinkedHashSet<InetAddress> localAddressList = localAddressList(t -> t instanceof Inet4Address);
@Override
public boolean accept(InetAddress t) {
return t instanceof Inet4Address;
}
});
return toIpList(localAddressList); return toIpList(localAddressList);
} }
@ -341,13 +335,7 @@ public class NetUtil {
* @since 4.5.17 * @since 4.5.17
*/ */
public static LinkedHashSet<String> localIpv6s() { public static LinkedHashSet<String> localIpv6s() {
final LinkedHashSet<InetAddress> localAddressList = localAddressList(new Filter<InetAddress>() { final LinkedHashSet<InetAddress> localAddressList = localAddressList(t -> t instanceof Inet6Address);
@Override
public boolean accept(InetAddress t) {
return t instanceof Inet6Address;
}
});
return toIpList(localAddressList); return toIpList(localAddressList);
} }
@ -448,16 +436,13 @@ public class NetUtil {
* @since 3.0.1 * @since 3.0.1
*/ */
public static InetAddress getLocalhost() { public static InetAddress getLocalhost() {
final LinkedHashSet<InetAddress> localAddressList = localAddressList(new Filter<InetAddress>() { final LinkedHashSet<InetAddress> localAddressList = localAddressList(address -> {
@Override // 非loopback地址指127.*.*.*的地址
public boolean accept(InetAddress address) { return false == address.isLoopbackAddress()
// 非loopback地址指127.*.*.*的地址 // 非地区本地地址指10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255
return false == address.isLoopbackAddress() && false == address.isSiteLocalAddress()
// 非地区本地地址指10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255 // 需为IPV4地址
&& false == address.isSiteLocalAddress() && address instanceof Inet4Address;
// 需为IPV4地址
&& address instanceof Inet4Address;
}
}); });
if (CollUtil.isNotEmpty(localAddressList)) { if (CollUtil.isNotEmpty(localAddressList)) {