ここから本文です

解決済みのQ&A

Javaであるポートが使用可能か調べるにはどうしたらいいですか?

radicalgoodspeed2080さん

Javaであるポートが使用可能か調べるにはどうしたらいいですか?

違反報告

  • 質問日時:
    2011/7/7 02:17:17
  • 解決日時:
    2011/7/21 07:08:03
  • 閲覧数:
    967
    回答数:
    1
  • お礼:
    知恵コイン
    50枚

ベストアンサーに選ばれた回答

tumura999さん

Java6から追加された、ServerSocketクラスを使用すると簡単にできます。
ServerSocketにポート番号を指定してnewした際に、既に使用されているソケットであれば、java.net.BindExceptionが返ります。
これを利用すれば、使用可能か調べることができます。
boolean canUse(int port){
java.net.ServerSocket ss =null;
boolean ret = false;
try{
ss = new java.net.ServerSocket(port);
//portが開けた
ret=true;
}catch(java.net.BindException e){
//portが使用済み
}catch(java.io.IOException e){
//なんか特別なエラーが起こった
e.printStackTrace();
}finally{
if(ss!=null)try{ss.close();}catch(Exception e){}
}
return ret;
}

  • 回答日時:2011/7/7 11:16:37

この質問は投票によってベストアンサーが選ばれました!

あなたにおすすめの解決済みの質問

ポートスキャニング攻撃が検出されるのですが、その攻撃元?ソースが自分のネットワーク内のIPアドレスで...
ポート開放ルータはWHR-G301Nを使っています。ONUとWHR-G301Nがつながっている状態です。ONUとPCを直接...
ポート開放についてポート開放をしたいのですが、調べていくうちまずIPアドレスを固定しようと思いまし...
ポート開放はできたのですが、時間が経つと閉じてしまいます。ポート開放ができているかチェックするサ...
ポートの開放ができません。ポートを開放するため、様々なサイトを参照して下記のところまで設定してみ...
PR
Yahoo!知恵袋のQ&Aアプリが登場! さくさく検索、かんたんに質問や回答ができる! Yahoo!知恵袋アプリ

最新ランキング

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する