0

ポート番号を持つ SerevrSocket を 1 つ作成しています。
しかし、時々私はBindException言いAddress already in useます。

ServerSocket をバインドする前に、それが使用されているかどうかを確認できるメカニズムはありますか。

また、最適な処理方法は何BindExceptionですか?

4

2 に答える 2

0

プログラムが終了する前にソケットを正しく閉じていないようです。onDestroy メソッドでソケットを閉じる必要があります。

于 2013-06-25T12:56:28.303 に答える
0
try {
                    ServerSocket server = new ServerSocket(0);
                     port = server.getLocalPort();


                     server.close();
                }
                catch (Exception e1){
                    Log.e("Error in Finding socket",e1.getMessage());
                }

上記のコード スニペットは、利用可能な空きポートを提供します。ただし、前述のように、以前の接続のソケット クロージャを確認してください。

于 2013-06-25T13:07:19.843 に答える