import cn.hutool.core.net.NetUtil;
import java.net.URI;
import java.net.URISyntaxException;
public JSONObject ping() {
//获取ip
String ip= "127.0.0.1";
boolean ping = false;
try {
//根据配置的中心端服务ip和端口号,解析得到ip
URI uri = new URI(ip);
String host = uri.getHost();
//判断网络连接状态(并非中心端服务状态)
ping = NetUtil.ping(host);
} catch (URISyntaxException e) {
logger.error("异常", e);
}
if (ping) {
return ResultUtil.successResult();
}
return ResultUtil.errorResult(ErrorEnum.E_503);
}
- 附 HuTool 中网络工具-NetUtil 网络工具-NetUtil-Hutool 参考文档-面试哥 (mianshigee.com)
- 参考案例:
/**
* 检测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;
}
}