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

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

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

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

检测代码

  1. // 判断网络状态
  2. public boolean isConnect() {
  3. boolean connectstate=false;
  4. Runtime runtime = Runtime.getRuntime();
  5. try {
  6. Process process = runtime.exec("ping " + "www.baidu.com");
  7. InputStream is = process.getInputStream();
  8. InputStreamReader isr = new InputStreamReader(is);
  9. BufferedReader br = new BufferedReader(isr);
  10. String line = null;
  11. StringBuffer sb = new StringBuffer();
  12. int readnum=5;
  13. while ((line = br.readLine()) != null&&readnum>0) {
  14. sb.append(line);
  15. readnum--;
  16. // System.out.println("返回值为:"+line);
  17. }
  18. is.close();
  19. isr.close();
  20. br.close();
  21. //System.out.println("++++++"+sb.toString());
  22. if (null != sb && !sb.toString().equals("")) {
  23. connectstate=(sb.toString().toLowerCase().indexOf("ttl") > 0)?true:false;
  24. }
  25. } catch (Exception e) {
  26. }
  27. return connectstate;
  28. }

重复检测直到网络正常

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

相关文章

最新文章

更多