<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java ping

    文檔

    java ping

    ping命令是在項目中需要判斷目錄服務器是否在線,Java實現ping功能的三種方法:1、Jdk1.5的InetAddresss方式。2、最簡單的辦法,直接調用CMD:見Ping類的ping02(String)函數。3、Java調用控制臺執行ping命令。
    推薦度:
    導讀ping命令是在項目中需要判斷目錄服務器是否在線,Java實現ping功能的三種方法:1、Jdk1.5的InetAddresss方式。2、最簡單的辦法,直接調用CMD:見Ping類的ping02(String)函數。3、Java調用控制臺執行ping命令。

    java ping是什么,讓我們一起了解一下?

    ping命令是在項目中需要判斷目錄服務器是否在線,調研有兩種方法:使用Java API的InetAddress方式,使用Runtime.exec調用操作系統的命令CMD。

    Java實現ping功能的三種方法是什么?

    1、Jdk1.5的InetAddresss方式:使用時應注意,如果遠程服務器設置了防火墻或相關的配制,可能會影響到結果。另外,由于發送ICMP請求需要程序對系統有一定的權限,當這個權限無法滿足時, isReachable方法將試著連接遠程主機的TCP端口 7(Echo)。

    2、最簡單的辦法,直接調用CMD:見Ping類的ping02(String)函數。

    3、Java調用控制臺執行ping命令:具體調用dos命令用Runtime.getRuntime().exec實現,查看字符串是否符合格式用正則表達式實現。

    Java如何實現Ping命令?

    通過Runtime.exec方法來調用本地CMD命令來執行以上語句,代碼如下:

    import?org.apache.log4j.Logger;
    import?java.io.BufferedReader;
    import?java.io.IOException;
    import?java.io.InputStreamReader;
    import?java.net.InetAddress;
    import?java.util.regex.Matcher;
    import?java.util.regex.Pattern;
    /**?*?@author?tgg?*/
    ?
    public?class?Ping?{
    ?
    ????public?static?boolean?ping(String?ipAddress)?throws?Exception?{
    ????????int?timeOut?=?3000?;
    ????????boolean?status?=?InetAddress.getByName(ipAddress).isReachable(timeOut);
    ????????return?status;
    ????}
    ?
    ????public?static?boolean?ping(String?ipAddress,?int?pingTimes,?int?timeOut)?{
    ????????BufferedReader?in?=?null;
    ????????Runtime?r?=?Runtime.getRuntime();
    ????????//?將要執行的ping命令,此命令是windows格式的命令
    ????????String?pingCommand?=?"ping?"?+?ipAddress?+?"?-n?"?+?pingTimes????+?"?-w?"?+?timeOut;
    ????????//?Linux命令如下
    ????????//?String?pingCommand?=?"ping"?-c?"?+?pingTimes?+?"?-w?"?+?timeOut?+?ipAddress;
    ????????try?{
    ????????????if?(logger.isDebugEnabled())?{
    ????????????????logger.debug(pingCommand);
    ????????????}
    ????????????//?執行命令并獲取輸出
    ????????????Process?p?=?r.exec(pingCommand);
    ????????????if?(p?==?null)?{
    ????????????????return?false;
    ????????????}
    ????????????in?=?new?BufferedReader(new?InputStreamReader(p.getInputStream()));
    ????????????int?connectedCount?=?0;
    ????????????String?line;
    ????????????//?逐行檢查輸出,計算類似出現=23ms?TTL=62字樣的次數
    ????????????while?((line?=?in.readLine())?!=?null)?{
    ????????????????connectedCount?+=?getCheckResult(line);
    ????????????}
    ????????????//?如果出現類似=23ms?TTL=62這樣的字樣,出現的次數=測試次數則返回真
    ????????????return?connectedCount?==?pingTimes;
    ????????}?catch?(Exception?e)?{
    ????????????logger.error(e);
    ????????????return?false;
    ????????}?finally?{
    ????????????try?{
    ????????????????in.close();
    ????????????}?catch?(IOException?e)?{
    ????????????????logger.error(e);
    ????????????}
    ????????}
    ????}
    ????//若line含有=18ms?TTL=16字樣,說明已經ping通,返回1,否則返回0.
    ????private?static?int?getCheckResult(String?line)?{??//?System.out.println("控制臺輸出的結果為:"+line);
    ????????Pattern?pattern?=?Pattern.compile("(\\d+ms)(\\s+)(TTL=\\d+)",????Pattern.CASE_INSENSITIVE);
    ????????Matcher?matcher?=?pattern.matcher(line);
    ????????while?(matcher.find())?{
    ????????????return?1;
    ????????}
    ????????return?0;
    ????}
    ?
    ????private?static?final?Logger?logger?=?Logger.getLogger(Ping.class);
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java ping

    ping命令是在項目中需要判斷目錄服務器是否在線,Java實現ping功能的三種方法:1、Jdk1.5的InetAddresss方式。2、最簡單的辦法,直接調用CMD:見Ping類的ping02(String)函數。3、Java調用控制臺執行ping命令。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java pipeline java rsa公鑰加密 java rsa私鑰加密 java rtp java runnable java runtime.exec java rxjava java sandbox java script java selector java selenium java semaphore java separator java sequence java serializable java serializable接口 java serialversionuid java setlayout java platform java settimeout java phoenix java paypal java path java rsa加密 java rotate java reverse java reverse() java retrofit java resume java resultset java result java rest java requests java partial java request java parser java repeat java parse java pandas java override
    Top 国产伦精品一区二区三区四区| 久久久无码精品亚洲日韩蜜臀浪潮| 精品人妻伦一二三区久久| 久热这里只有精品99国产6| 99热成人精品国产免国语的| 无码精品人妻一区| 久久99精品一久久久久久| 亚洲精品中文字幕| 久久99精品久久久久久齐齐| 亚洲国产精品久久网午夜| 老子午夜精品我不卡影院| 午夜精品视频在线观看| 亚洲精品无码你懂的网站| 99精品在线视频| 国产亚洲精品AA片在线观看不加载| 精品日韩一区二区| 久久精品国产亚洲AV网站| 久9视频这里只有精品8| 亚洲精品无码专区在线在线播放| 国产精品bbwbbwbbw| 国语自产精品视频| 2020国产成人久久精品| 成人区人妻精品一区二区不卡网站 | 在线精品国产一区二区| 欧洲精品一区二区三区在线观看 | 久久无码精品一区二区三区| 日韩精品人妻系列无码av东京| 国内精品久久久久影院免费| 久久久久久久精品毛万迈巴赫车标| 久久久久女人精品毛片| 国产精品美女网站| 99re最新在线精品| 久久精品国产亚洲av成人| 国产系列高清精品第一页| 亚洲精品国产综合久久一线| 国产精品怡红院在线观看| 91精品国产福利在线观看麻豆 | 久久国产精品免费观看| 国产剧情精品在线观看| 国产成人久久精品77777综合| 久久机热re这里只有精品15|