最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java判斷網(wǎng)絡(luò)是否正常代碼實(shí)例

 更新時間:2020年03月25日 11:37:37   作者:摘星族  
這篇文章主要介紹了基于Java判斷網(wǎng)絡(luò)是否正常代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

判斷網(wǎng)絡(luò)是否正常使用

代碼如下

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

    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) {
          // 網(wǎng)絡(luò)暢通
          connect = true;
        } else {
          // 網(wǎng)絡(luò)不暢通
          connect = false;
        }
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return connect;
  }

TTL:生存時間

指定數(shù)據(jù)報(bào)被路由器丟棄之前允許通過的網(wǎng)段數(shù)量。

TTL 是由發(fā)送主機(jī)設(shè)置的,以防止數(shù)據(jù)包不斷在 IP 互聯(lián)網(wǎng)絡(luò)上永不終止地循環(huán)。轉(zhuǎn)發(fā) IP 數(shù)據(jù)包時,要求路由器至少將 TTL 減小 1。

使用PING時涉及到的 ICMP 報(bào)文類型

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

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

TTL 字段值可以幫助我們識別操作系統(tǒng)類型

測試

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

控制臺顯示

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

true

Process finished with exit code 0

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD

    MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD

    本文將結(jié)合實(shí)例代碼,介紹MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java設(shè)計(jì)模式初識之備忘錄模式詳解

    Java設(shè)計(jì)模式初識之備忘錄模式詳解

    備忘錄設(shè)計(jì)模式(Memento Design Pattern)也叫作快照(Snapshot)模式,主要用于實(shí)現(xiàn)防丟失、撤銷、恢復(fù)等功能。本文將通過示例為大家介紹一些備忘錄模式的定義與使用,需要的可以參考一下
    2022-11-11
  • Spring中的異步方法@Async失效的原因詳解

    Spring中的異步方法@Async失效的原因詳解

    這篇文章主要介紹了Spring中的異步方法@Async失效的原因詳解,@Async屬于異步注解,@Async放在方法上標(biāo)識該方法為異步方法,異步是指進(jìn)程不需要一直等待下去,而是繼續(xù)執(zhí)行下面的操作,不管其他進(jìn)程的狀態(tài),需要的朋友可以參考下
    2024-01-01
  • maven配置多個鏡像的實(shí)現(xiàn)方法

    maven配置多個鏡像的實(shí)現(xiàn)方法

    這篇文章主要介紹了maven配置多個鏡像的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • SpringBoot加載配置文件的實(shí)現(xiàn)方式總結(jié)

    SpringBoot加載配置文件的實(shí)現(xiàn)方式總結(jié)

    在實(shí)際的項(xiàng)目開發(fā)過程中,我們經(jīng)常需要將某些變量從代碼里面抽離出來,放在配置文件里面,以便更加統(tǒng)一、靈活的管理服務(wù)配置信息。所以本文將為大家總結(jié)一下SpringBoot加載配置文件的常用方式,需要的可以參考一下
    2022-03-03
  • SpringCloud?Eureka應(yīng)用全面介紹

    SpringCloud?Eureka應(yīng)用全面介紹

    Eureka是Netflix開發(fā)的服務(wù)發(fā)現(xiàn)框架,本身是一個基于REST的服務(wù),主要用于定位運(yùn)行在AWS域中的中間層服務(wù),以達(dá)到負(fù)載均衡和中間層服務(wù)故障轉(zhuǎn)移的目的
    2022-09-09
  • 如何利用JAVA正則表達(dá)式輕松替換JSON中的大字段

    如何利用JAVA正則表達(dá)式輕松替換JSON中的大字段

    這篇文章主要給大家介紹了關(guān)于如何利用JAVA正則表達(dá)式輕松替換JSON中大字段的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring Boot 簡介(入門篇)

    Spring Boot 簡介(入門篇)

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。下面通過本文給大家介紹spring boot相關(guān)知識,需要的的朋友參考下吧
    2017-04-04
  • Java反射機(jī)制的講解

    Java反射機(jī)制的講解

    今天小編就為大家分享一篇關(guān)于Java反射機(jī)制的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回

    如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回

    這篇文章主要介紹了如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12

最新評論

定西市| 尼勒克县| 庆城县| 南溪县| 沧源| 信丰县| 安顺市| 潞西市| 安国市| 积石山| 武山县| 栾城县| 东乡族自治县| 定安县| 荆门市| 诏安县| 江陵县| 昆山市| 灵丘县| 泽库县| 肥城市| 南安市| 尚义县| 松潘县| 原阳县| 汽车| 大英县| 克什克腾旗| 宜丰县| 嘉善县| 密云县| 廊坊市| 醴陵市| 肇州县| 久治县| 商河县| 壶关县| 婺源县| 拜泉县| 古蔺县| 朝阳县|