91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Java項目中判斷網絡是否正常

發布時間:2021-01-27 17:22:45 來源:億速云 閱讀:445 作者:Leah 欄目:編程語言

如何在Java項目中判斷網絡是否正常?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

代碼如下

/**
   * 判斷網絡是否正常
   * @return
   */
  public static boolean isConnect(String ipPath){
    //定義其返回的狀態,默認為false,網絡不正常
    boolean connect = false;
    /**
     * 用Runtime.getRuntime().exec()來調用系統外部的某個程序,
     * 他會生成一個新的進程去運行調用的程序。
     * 此方法返回一個java.lang.Process對象,
     * 該對象可以得到之前開啟的進程的運行結果,
     * 還可以操作進程的輸入輸出流。
     */

    Runtime runtime = Runtime.getRuntime();
    Process process;
    try {
      process = runtime.exec("ping " + ipPath);
      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) {
        sb.append(line);
      }
      System.out.println("返回值為:"+sb);
      is.close();
      isr.close();
      br.close();

      if (null != sb && !sb.toString().equals("")) {
        String logString = "";
        if (sb.toString().indexOf("TTL") > 0) {
          // 網絡暢通
          connect = true;
        } else {
          // 網絡不暢通
          connect = false;
        }
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return connect;
  }

TTL:生存時間

指定數據報被路由器丟棄之前允許通過的網段數量。

TTL 是由發送主機設置的,以防止數據包不斷在 IP 互聯網絡上永不終止地循環。轉發 IP 數據包時,要求路由器至少將 TTL 減小 1。

使用PING時涉及到的 ICMP 報文類型

一個為ICMP請求回顯(ICMP Echo Request)

一個為ICMP回顯應答(ICMP Echo Reply)

TTL 字段值可以幫助我們識別操作系統類型

測試

 public static void main(String[] args) {
    System.out.println(HttpUtil.isConnect("220.181.111.188"));
  }

控制臺顯示

返回值為:正在 Ping 220.181.111.188
具有 32 字節的數據:
來自 220.181.111.188 的回復: 字節=32 時間=23ms TTL=53
來自 220.181.111.188 的回復: 字節=32 時間=23ms TTL=53
來自 220.181.111.188 的回復: 字節=32 時間=24ms TTL=53
來自 220.181.111.188 的回復: 字節=32 時間=23ms
TTL=53220.181.111.188 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 23ms,最長 = 24ms,平均 = 23ms

true

Process finished with exit code 0

看完上述內容,你們掌握如何在Java項目中判斷網絡是否正常的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延长县| 宣汉县| 温州市| 隆子县| 东乡族自治县| 宜兴市| 厦门市| 呼伦贝尔市| 陆丰市| 梁河县| 邵阳县| 桃江县| 临江市| 扶风县| 闽侯县| 富蕴县| 湾仔区| 杨浦区| 鹤山市| 怀来县| 定州市| 竹山县| 龙陵县| 邮箱| 定兴县| 临沂市| 托克逊县| 灯塔市| 阜新市| 湘乡市| 南召县| 洞口县| 松阳县| 北辰区| 拉萨市| 钦州市| 阳信县| 天津市| 阳东县| 昔阳县| 沁阳市|