2012-04-14 174 views
0

我在我的android應用程序中有一個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,它工作正常! – 2012-04-14 13:33:18

0

ServerSocket在關閉後無法再次打開。因此,您只需再次執行您的第一個代碼片段,從創建一個新的ServerSocket實例開始。