ポート番号を持つ SerevrSocket を 1 つ作成しています。
しかし、時々私はBindException
言いAddress already in use
ます。
ServerSocket をバインドする前に、それが使用されているかどうかを確認できるメカニズムはありますか。
また、最適な処理方法は何BindException
ですか?
ポート番号を持つ SerevrSocket を 1 つ作成しています。
しかし、時々私はBindException
言いAddress already in use
ます。
ServerSocket をバインドする前に、それが使用されているかどうかを確認できるメカニズムはありますか。
また、最適な処理方法は何BindException
ですか?
プログラムが終了する前にソケットを正しく閉じていないようです。onDestroy メソッドでソケットを閉じる必要があります。
try {
ServerSocket server = new ServerSocket(0);
port = server.getLocalPort();
server.close();
}
catch (Exception e1){
Log.e("Error in Finding socket",e1.getMessage());
}
上記のコード スニペットは、利用可能な空きポートを提供します。ただし、前述のように、以前の接続のソケット クロージャを確認してください。