IPとポート番号にアクセスできるかどうかを決定するJava

プロジェクトが達成したい理由の最初の助成金は、そう、このメソッドは常にFalseを返す理由を知りませんが、基本的にisReachable使用されている多くの方法()判決を見つけるために、早期のオンライン結果を判断するために、データベースに接続できるようにする必要があることです自分だけのA書きます。最初のping IPとポート番号の方法に直接次のコードを、

 

パブリックブールisHostConnection(文字列IP、INTポート){
          ソケットソケット=新しいソケット()。
         {しようと
              socket.connect(新規たInetSocketAddress(IP、ポート)、3000)。
         }キャッチ(てSocketTimeoutException S){
              falseを返します。
        }キャッチ(IOExceptionを電子){
             e.printStackTrace();
            falseを返します。
       }最後に{
             {試みる
                  socket.closeを();
             }キャッチ(IOExceptionを電子){
                 e.printStackTrace();
             }
      }
      trueを返します。
}

 

//以下は、リターン接続状態であります

公衆リスト<ハッシュマップの<string、オブジェクト>> getConnectionState(){
           リスト<ハッシュマップの<string、オブジェクト>> listMap =新規のArrayList <HashMapの<文字列オブジェクト>>();
           {試みる
                  リスト<FactoryDataBaseConfig> FDB = factoryDataBaseConfigService.getFactoryState()。
                  一覧<文字列>リスト=新しいのArrayList <文字列>();
                  ハッシュマップの<string、オブジェクト>マップ=新しいハッシュマップの<string、オブジェクト>();
                 以下のために(INT i = 0; iはfdb.size()<; iは++)を{
                       ブール結果= FALSE;
                       結果= this.isHostConnectable(fdb.get(I).getIpHost()、1433)。
                       IF(結果){
                                  int型factoryState = factoryDataBaseConfigService.updateStateTrue(fdb.get(I).getOrgfk());
                                  IF(factoryState == 1){
                                                map.put( "状態"、TRUE)。
                                  }他{
                                               map.put( "状態"、偽)。
                                  }
                    }他{
                               INT factoryState = factoryDataBaseConfigService.updateStateFalse(fdb.get(I).getOrgfk())。
                                    IF(factoryState == 1){
                                              map.put( "状態"、TRUE)。
                                    }他{
                                              map.put( "状態"、偽の);
                                    }
                              list.add(fdb.get(I).getOrgname())。
                   }
                }
                   map.put( "リスト"、リスト)。
                   listMap.add(マップ)
             }キャッチ(例外e){
                       新規のRuntimeExceptionを投げる(e.getMessage())。
            }
            戻りlistMap。
}

おすすめ

転載: www.cnblogs.com/0000cjw/p/11129115.html