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"); }
}