Java项目或者APP中,自动检测网络是否正常的实现方法

x33g5p2x  于2022-07-20 转载在 Java  
字(1.0k)|赞(0)|评价(0)|浏览(441)

Java项目或者APP中,自动检测网络是否正常的实现方法。

直接上代码,下面从2个方面

检测代码

// 判断网络状态
    public boolean isConnect() {
        boolean connectstate=false;
        Runtime runtime = Runtime.getRuntime();
        try {
            Process process = runtime.exec("ping " + "www.baidu.com");
            InputStream is = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line = null;
            StringBuffer sb = new StringBuffer();
            int readnum=5;
            while ((line = br.readLine()) != null&&readnum>0) {
                sb.append(line);
                readnum--;
                // System.out.println("返回值为:"+line);
            }
            is.close();
            isr.close();
            br.close();
            //System.out.println("++++++"+sb.toString());
            if (null != sb && !sb.toString().equals("")) {
                connectstate=(sb.toString().toLowerCase().indexOf("ttl") > 0)?true:false;
            }
        } catch (Exception e) {
        }
        return connectstate;
    }

重复检测直到网络正常

int checknum=5*6;//测试5分钟
        while (!isConnect()&&checknum>0) {
            try {
                // 每隔10秒钟测试一次网络是否连通
                Thread.sleep(1000*10);
                checknum--;
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

相关文章

最新文章

更多