You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Groovy实现IP地址ping检测并输出可达状态?

Groovy实现IP地址Ping检测与可达性提示

当然没问题!Groovy依托Java标准库就能轻松实现这个需求,完全不用额外依赖包。下面是一个贴合你要求的简洁实现:

def checkHostReachability(String ipAddress) {
    // 输出初始请求提示
    println "Sending ping request to $ipAddress"
    try {
        // 获取IP对应的网络地址对象,设置3秒超时检测可达性
        boolean isReachable = InetAddress.getByName(ipAddress).isReachable(3000)
        // 根据检测结果输出对应提示
        println isReachable ? "Host is reachable" : "Host is not reachable"
    } catch (UnknownHostException e) {
        // 处理无效IP地址的情况
        println "Invalid IP address: $ipAddress"
    } catch (IOException e) {
        // 处理网络异常
        println "Error checking reachability: ${e.message}"
    }
}

// 测试示例:替换成你需要检测的IP
checkHostReachability("192.168.2.20")

关键细节说明:

  • InetAddress.getByName(ipAddress):根据传入的IP地址生成对应的网络地址实例,这是Java标准库的核心API,Groovy可以直接调用
  • isReachable(3000):检测主机是否可达,参数是超时时间(单位毫秒),你可以根据需求调整这个数值(比如改成5000代表5秒超时)
  • 异常处理:针对无效IP和网络异常做了基础捕获,避免脚本直接崩溃
  • 输出格式完全匹配你要求的样式:可达时输出Sending ping request to 192.168.2.20 Host is reachable,不可达时输出对应提示

如果需要批量检测多个IP,只需要循环调用checkHostReachability方法即可,比如:

def ipList = ["192.168.2.20", "192.168.2.21", "8.8.8.8"]
ipList.each { checkHostReachability(it) }

内容的提问来源于stack exchange,提问作者S.Bengtsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:45:42