0

我正在创建一个带有一些端口号的 SerevrSocket。
但有时我会BindExceptionAddress already in use

那么在绑定ServerSocket之前是否有任何机制可以检查它是否正在使用。

还有什么是最好的处理方式BindException

4

2 回答 2

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 回答
0

听起来您在程序退出之前没有正确关闭套接字。套接字需要在 onDestroy 方法中关闭。

于 2013-06-25T12:56:28.303 回答