2012-04-14 2 views
0

내 안드로이드 응용 프로그램에 TCP 서버가 있습니다. 서버가 즉시 실행됩니다. 한 번의 클릭으로 서버를 중지하고 다른 서버를 사용하여 서버를 다시 시작합니다.TCP 서버 다시 시작

내 서버는 다음과 같이이다 :

serverSocket = new ServerSocket(1292); 
while (true) { 
Socket client = serverSocket.accept();    
ServersClient s = new ServersClient(client); 
Thread clientThread = new Thread(s); 
clientThread.run(); 
} 

나는 성공적으로이 코드로 마감 처리 :

이 코드 후
serverSocket.close(); 

, 어떤 클라이언트가 연결할 수 없습니다.

지금 다시 시작하려면 어떻게해야합니까?

답변

2

ServerSocket은 새로운 연결을 수신합니다.

SocketserverSocket.accept()이 반환하는 연결 인스턴스입니다.

Socket 인스턴스를 닫아 특정 클라이언트와의 연결을 닫으려고합니다. ServerSocket을 닫으면 응용 프로그램이 포트에서 바인딩 해제됩니다.

+0

아, 정말 고마워요. ServerSocked 대신 소켓을 닫았습니다. –

0

ServerSocket을 닫은 후에 다시 열 수 없습니다. 따라서 새로운 ServerSocket 인스턴스를 만드는 것부터 시작하여 첫 번째 코드 단편을 다시 실행하면됩니다.