连接前Android检查套接字状态

时间:2013-06-25 12:50:32

标签: android serversocket

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

try {
                    ServerSocket server = new ServerSocket(0);
                     port = server.getLocalPort();


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

上面的代码段为您提供了可用的空闲端口。但如前所述,请检查以前连接的套接字闭包。