diff --git a/util/src/main/java/com/zfoo/util/net/NetUtils.java b/util/src/main/java/com/zfoo/util/net/NetUtils.java index ece6b545..fd7afc91 100644 --- a/util/src/main/java/com/zfoo/util/net/NetUtils.java +++ b/util/src/main/java/com/zfoo/util/net/NetUtils.java @@ -21,6 +21,7 @@ import org.springframework.lang.Nullable; import java.io.IOException; import java.io.OutputStream; +import java.math.BigInteger; import java.net.*; import java.util.*; import java.util.regex.Pattern; @@ -102,6 +103,18 @@ public class NetUtils { return IPV4.matcher(address).matches() || IPV6.matcher(address).matches(); } + // 同时支持ipv4和ipv6 + public static long ipToLong(String ip) { + try { + var inetAddress = InetAddress.getByName(ip); + var ipAddress = inetAddress.getAddress(); + var ipBigInt = new BigInteger(1, ipAddress); + return ipBigInt.longValue(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + /** * 检测本地端口可用性
* 来自org.springframework.util.SocketUtils