2012-04-14 13 views
0

Ich habe einen TCP-Server in meiner Android-Anwendung. Der Server wird sofort gestartet. Mit einem Knopfdruck möchte ich den Server stoppen und mit einem weiteren den Server neu starten.Neustart eines TCP-Servers

Mein Server ist wie folgt:

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

ich mit diesem Code erfolgreich behandeln endet:

serverSocket.close(); 

Nach diesem Code können keine Clients verbinden.

Was soll ich tun, um es jetzt neu zu starten?

Antwort

2

ServerSocket wartet auf neue Verbindungen.

Socket ist die Verbindungsinstanz, die serverSocket.accept() zurückgibt.

Sie möchten die Socket Instanz schließen, um die Verbindung mit einem bestimmten Client zu beenden. Closing ServerSocket wird die Anwendung vom Port lösen.

+0

Oh ja vielen Dank. Ich habe den Socket statt ServerSocked geschlossen und es hat funktioniert! –

0

Ein ServerSocket kann nach dem Schließen nicht wieder geöffnet werden. Daher führen Sie das erste Code-Snippet erneut aus, beginnend mit dem Erstellen einer neuen ServerSocket-Instanz.

Verwandte Themen