远方蔚蓝
一刹那情真,相逢不如不见

文章数量 126

访问次数 199895

运行天数 1437

最近活跃 2024-10-04 23:36:48

进入后台管理系统

Java检查网络是否连接


package com.modules.common;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
 * 判断网络连接状况.
 * 
 * @author wst(shi-tao.wen) 2022217日 下午1:08:39
 *
 */
public class NetState {
	public void isConnect(final String ip) {
		try {
			new Thread(new Runnable() {
				
				@Override
				public void run() {
					try {
						// ping -t 长ping
						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");
	}
}