java 判断本机电脑是否能连接外网
String host = "202.108.22.5";
int timeOut = 3000; //超时应该在3钞以上
boolean status = InetAddress.getByName(host).isReachable(timeOut);
当返回值是true时,说明host是可用的,反则不可。
//判断ip、端口是否可连接
public static boolean isHostConnectable(String host, int port) {
Socket socket = new Socket();
try {
socket.connect(new InetSocketAddress(host, port));
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return true;
}
//判断ip是否可以连接 timeOut是超时时间
public static boolean isHostReachable(String host, Integer timeOut) {
try {
return InetAddress.getByName(host).isReachable(timeOut);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
//测试URL地址是否能正常连接
public static int testWsdlConnection(String address) throws Exception {
int status = 404;
try {
URL urlObj = new URL(address);
HttpURLConnection oc = (HttpURLConnection) urlObj.openConnection();
oc.setUseCaches(false);
oc.setConnectTimeout(3000); // 设置超时时间
status = oc.getResponseCode();// 请求状态
if (200 == status) {
// 200是请求地址顺利连通。。
return status;
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return status;
}