如何在Java項(xiàng)目中判斷網(wǎng)絡(luò)是否正常?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
站在用戶的角度思考問題,與客戶深入溝通,找到惠州網(wǎng)站設(shè)計(jì)與惠州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋惠州地區(qū)。
代碼如下
/** * 判斷網(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)外部的某個(gè)程序, * 他會(huì)生成一個(gè)新的進(jìn)程去運(yùn)行調(diào)用的程序。 * 此方法返回一個(gè)java.lang.Process對(duì)象, * 該對(duì)象可以得到之前開啟的進(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í)間
指定數(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ù)包時(shí),要求路由器至少將 TTL 減小 1。
使用PING時(shí)涉及到的 ICMP 報(bào)文類型
一個(gè)為ICMP請(qǐng)求回顯(ICMP Echo Request)
一個(gè)為ICMP回顯應(yīng)答(ICMP Echo Reply)
TTL 字段值可以幫助我們識(shí)別操作系統(tǒng)類型
測試
public static void main(String[] args) { System.out.println(HttpUtil.isConnect("220.181.111.188")); }
控制臺(tái)顯示
返回值為:正在 Ping 220.181.111.188
具有 32 字節(jié)的數(shù)據(jù):
來自 220.181.111.188 的回復(fù): 字節(jié)=32 時(shí)間=23ms TTL=53
來自 220.181.111.188 的回復(fù): 字節(jié)=32 時(shí)間=23ms TTL=53
來自 220.181.111.188 的回復(fù): 字節(jié)=32 時(shí)間=24ms TTL=53
來自 220.181.111.188 的回復(fù): 字節(jié)=32 時(shí)間=23ms
TTL=53220.181.111.188 的 Ping 統(tǒng)計(jì)信息:
數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計(jì)時(shí)間(以毫秒為單位):
最短 = 23ms,最長 = 24ms,平均 = 23mstrue
Process finished with exit code 0
看完上述內(nèi)容,你們掌握如何在Java項(xiàng)目中判斷網(wǎng)絡(luò)是否正常的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
本文題目:如何在Java項(xiàng)目中判斷網(wǎng)絡(luò)是否正常
文章源于:http://jinyejixie.com/article24/ggieje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站收錄、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、服務(wù)器托管、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)