日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用 java 檢測(cè)主機(jī)連網(wǎng)狀態(tài)

 昵稱(chēng)11462324 2013-01-14

用 java 檢測(cè)主機(jī)連網(wǎng)狀態(tài)


通過(guò)幾天努力終于把那個(gè)問(wèn)題給解決了,就是用java 檢測(cè)本機(jī)的連網(wǎng)狀態(tài),當(dāng)網(wǎng)絡(luò)中斷時(shí)讓檢測(cè)網(wǎng)絡(luò),如果連接上網(wǎng)絡(luò),便又繼續(xù)下面的工作.以下是我寫(xiě)的一個(gè)類(lèi),朋友們可以參考一 下                                                                                        清單一:URLAvailability.java

  1. package xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
  2.   
  3. import java.net.HttpURLConnection;  
  4. import java.net.URL;  
  5. import java.net.UnknownHostException;  
  6. import java.text.DateFormat;  
  7. import java.util.Date;  
  8.   
  9. import org.apache.log4j.Logger;  
  10.   
  11. /** 
  12.  *  
  13.  * 項(xiàng)目名稱(chēng): xxxxxxxxxx* <p> 
  14.  * 功能模塊名稱(chēng): 
  15.  * </p><p> 
  16.  * 文件名稱(chēng)為:URLAvailability.java 
  17.  * </p><p> 
  18.  * 文件功能簡(jiǎn)述: xxxxxxxxxxxxxxxxxxxxxxxxxx * </p><p> 
  19.  * 文件創(chuàng)建人:ChenTao 
  20.  * @author ChenTao 
  21.  * @version v1.0 
  22.  * @time 2008-5-31上午10:00:35 
  23.  * @copyright xxxxxxxxxxxxx */  
  24. @SuppressWarnings("unused")  
  25. public class URLAvailability   {  
  26.   
  27.     private static Logger logger = Logger.getLogger(URLAvailability.class);  
  28.   
  29.     private static URL urlStr;  
  30.   
  31.     private static HttpURLConnection connection;  
  32.   
  33.     private static int state = -1;  
  34.   
  35.     private static String succ;  
  36.   
  37.     private static boolean isCon = false;  
  38.   
  39.     private String url;  
  40.       
  41.     private String closeTime = null;  
  42.       
  43.     private int status = 0;  
  44.   
  45.     public String getUrl() {  
  46.         return url;  
  47.     }  
  48.   
  49.     public void setUrl(String url) {  
  50.         this.url = url;  
  51.     }  
  52.   
  53.     public static String getSucc() {  
  54.         return succ;  
  55.     }  
  56.   
  57.     public static void setSucc(String succ) {  
  58.         URLAvailability.succ = succ;  
  59.     }  
  60.   
  61.     /** 
  62.      * 功能描述 : 檢查URL是否可用 
  63.      *  
  64.      * @param url 
  65.      *            指定檢查的網(wǎng)絡(luò)地址 
  66.      *  
  67.      * @return String 
  68.      */  
  69.     public synchronized static String isConnect(String url) {  
  70.         state = -1;  
  71.         succ = null;  
  72.         if (url == null || url.length() <= 0) {  
  73.             return succ;  
  74.         }  
  75.         new URLAvailability().connectState(url);  
  76.         return succ;  
  77.     }  
  78.   
  79.     /** 
  80.      * 功能描述 : 檢測(cè)當(dāng)前網(wǎng)絡(luò)是否斷開(kāi) 或 URL是否可連接, 
  81.      *          如果網(wǎng)絡(luò)沒(méi)斷開(kāi),最多連接網(wǎng)絡(luò) 5 次, 如果 5 次都不成功說(shuō)明該地址不存在或視為無(wú)效地址. 
  82.      *  
  83.      * @param url 
  84.      *            指定URL網(wǎng)絡(luò)地址 
  85.      *  
  86.      * @return void 
  87.      */  
  88.     private synchronized void connectState(String url) {  
  89.         this.url = url;  
  90.         int counts = 0;  
  91.           
  92.         while (counts < 5) {  
  93.             try {  
  94.                 urlStr = new URL(this.getUrl());  
  95.                 connection = (HttpURLConnection) urlStr.openConnection();  
  96.                 state = connection.getResponseCode();  
  97.                 if (state == 200) {  
  98.                     succ = connection.getURL().toString();  
  99.                 }  
  100.                 break;  
  101.             } catch (UnknownHostException ex) {  
  102.                 if(this.closeTime == null){  
  103.                     DateFormat df = DateFormat.getDateTimeInstance();  
  104.                     closeTime = df.format(new Date());  
  105.                     logger.error("網(wǎng)絡(luò)連接狀態(tài)已斷開(kāi),請(qǐng)檢查網(wǎng)絡(luò)連接設(shè)備");  
  106.                     logger.info("斷開(kāi)時(shí)間 : " + this.closeTime);  
  107.                     logger.error("程序開(kāi)始執(zhí)行每三分鐘檢測(cè)一次網(wǎng)絡(luò)");  
  108.                 }  
  109.                 try {  
  110.                     status ++;  
  111.                     logger.info("開(kāi)始第" + status + " 次檢測(cè)網(wǎng)絡(luò)狀態(tài)是否可連接");  
  112.                     Thread.sleep(180000);  
  113.                 } catch (InterruptedException e) {  
  114.                 }  
  115.                 this.connectState(this.getUrl());  
  116.             } catch (Exception ex) {  
  117.                 counts++;  
  118.                 continue;  
  119.             }  
  120.             if(status != 0){  
  121.   
  122.                 DateFormat df = DateFormat.getDateTimeInstance();  
  123.                 closeTime = df.format(new Date());  
  124.                 logger.info("網(wǎng)絡(luò)成功連接");  
  125.             }  
  126.         }  
  127.     }  
  128. }  
  129. 大家看到上面我 cache 了UnknownHostException  異常,這個(gè)意思是在調(diào)用遠(yuǎn)程主機(jī)發(fā)生的異常,我們只需要 cache 這個(gè)異常就搞定了,不信可試試把網(wǎng)線(xiàn)斷開(kāi)后看看會(huì)發(fā)生什么

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章