久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

基于Java判斷網絡是否正常代碼實例

瀏覽:65日期:2022-09-03 17:20:38

判斷網絡是否正常使用

代碼如下

/** * 判斷網絡是否正常 * @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
相關文章:
主站蜘蛛池模板: 深水埗区| 饶河县| 平利县| 新巴尔虎右旗| 开封市| 扶绥县| 洛隆县| 咸阳市| 雅江县| 大安市| 旅游| 壤塘县| 临沭县| 景谷| 咸丰县| 霍邱县| 雷波县| 深泽县| 九江市| 建瓯市| 永川市| 巴里| 中牟县| 皋兰县| 财经| 喀喇沁旗| 吉水县| 肥城市| 叶城县| 鸡泽县| 成安县| 贵州省| 吉林省| 宝应县| 四川省| 福安市| 阿拉善左旗| 喀喇沁旗| 会东县| 车致| 茌平县|