From 0f1ebf8ab71f8da5909ce7a6fb005f9af399c7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=AD=E6=B0=B4=E6=B5=81=E5=A4=A7=E6=B9=BF=E5=85=84?= <18862253202@qq.com> Date: Thu, 16 Jan 2020 08:03:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8NetUtil=E4=B8=AD=E6=96=B0=E5=A2=9Eping?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/core/net/NetUtil.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/net/NetUtil.java b/hutool-core/src/main/java/cn/hutool/core/net/NetUtil.java index 1d4eb771e..c095f4f8b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/NetUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/NetUtil.java @@ -658,6 +658,31 @@ public class NetUtil { return StrUtil.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); } + /** + * 检测IP地址是否能ping通 + * + * @param ip IP地址 + * @return 返回是否ping通 + */ + public static boolean ping(String ip) { + return ping(ip, 200); + } + + /** + * 检测IP地址是否能ping通 + * + * @param ip IP地址 + * @param timeout 检测超时(毫秒) + * @return 是否ping通 + */ + public static boolean ping(String ip, int timeout) { + try { + return InetAddress.getByName(ip).isReachable(timeout); // 当返回值是true时,说明host是可用的,false则不可。 + } catch (Exception ex) { + return false; + } + } + // ----------------------------------------------------------------------------------------- Private method start /** * 指定IP的long是否在指定范围内