package com.modules.common;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
* 判断网络连接状况.
*
* @author wst(shi-tao.wen) 2022年2月17日 下午1:08:39
*
*/
public class NetState {
public void isConnect(final String ip) {
try {
new Thread(new Runnable() {
@Override
public void run() {
try {
Process process = Runtime.getRuntime().exec("ping -t " + ip);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "GBK");
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line);
sb.append("\r\n");
}
is.close();
isr.close();
br.close();
System.out.println("");
if (null != sb && !sb.toString().equals("")) {
if (sb.toString().indexOf("TTL") > 0) {
if (sb.toString().contains("数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失)")) {
System.out.println("网络畅通");
} else {
System.out.println("网络通,但是不稳定");
}
} else {
System.out.println("网络不畅通");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
NetState netState = new NetState();
netState.isConnect("127.0.0.1");
netState.isConnect("www.movcode.com");
netState.isConnect("m.movcode.com");
netState.isConnect("movcode.com");
}
}