2013-06-25 2 views
0

일부 포트 번호로 하나의 SerevrSocket을 생성 중입니다.
가끔 BindExceptionAddress already in use입니다.연결하기 전에 Android 체크 소켓 상태

그래서 ServerSocket을 사용 중인지 여부를 확인할 수있는 메커니즘이 있습니다.

또한 가장 좋은 취급 방법은 무엇입니까 BindException?

답변

0

은 프로그램 종료 전에 소켓을 올바르게 닫지 않은 것처럼 들립니다. onDestroy 메서드에서 소켓을 닫아야합니다.

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


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

위의 코드 조각은 사용 가능한 무료 포트를 제공합니다. 그러나 이전에 언급했듯이 이전 연결에 대한 소켓 클로저를 확인하십시오.

관련 문제