Android在连接之前检查套接字状态



我正在创建一个具有某个端口号的SerevrSocket
但有时我会让BindExceptionAddress 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());
                }

上面的代码片段为您提供了可用的免费端口。但是,如前所述,请检查套接字是否存在以前的连接。

最新更新