fix NetUtil

This commit is contained in:
Looly 2021-07-23 09:10:11 +08:00
parent 08a3eeb752
commit ff8ed2a0e3
2 changed files with 14 additions and 3 deletions

View File

@ -9,6 +9,7 @@
* 【core 】 增加FieldsComparatorpr#374@Gitee
* 【core 】 FileUtil.del采用Files.delete实现
* 【core 】 改进Base64.isBase64方法增加等号判断issue#1710@Github
* 【core 】 改进NetUtil.getLocalHost逻辑issue#1717@Github
### 🐞Bug修复

View File

@ -494,14 +494,24 @@ public class NetUtil {
final LinkedHashSet<InetAddress> localAddressList = localAddressList(address -> {
// 非loopback地址指127.*.*.*的地址
return false == address.isLoopbackAddress()
// 非地区本地地址指10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255
&& false == address.isSiteLocalAddress()
// 需为IPV4地址
&& address instanceof Inet4Address;
});
if (CollUtil.isNotEmpty(localAddressList)) {
return CollUtil.get(localAddressList, 0);
InetAddress address2 = null;
for (InetAddress inetAddress : localAddressList) {
if (false == inetAddress.isSiteLocalAddress()) {
// 非地区本地地址指10.0.0.0 ~ 10.255.255.255172.16.0.0 ~ 172.31.255.255192.168.0.0 ~ 192.168.255.255
return inetAddress;
} else if (null == address2) {
address2 = inetAddress;
}
}
if (null != address2) {
return address2;
}
}
try {