我創建一個服務器客戶端程序,客戶端根據服務器的響應向服務器發送特定信息。 對於不斷從多個客戶端偵聽,我有一個線程在服務器上不斷偵聽客戶端請求。無論何時收到請求,我啓動另一個線程併發送該套接字運行並開始監聽其他客戶端的請求。在java中殺死線程
這裏是代碼連續聽
while(true){
//serverListener is a ServerSocket object
clientSocket = serverListener.accept();//Waiting for any client request
//New thread started when request is received from any client
Thread thread =new Thread(new serverThread(clientSocket), "ClientThread");
thread.start();
}
現在我的問題是,如何才能停止服務器。我知道在while循環中使用boo lean變量,然後更改值的一種替代方法,但問題是當線程正在等待獲取任何連接時,更改布爾變量的值也不會停止服務器。
有什麼辦法可以解決這個問題。
1級的解決方案,我發現是使用服務器套接字超時,然後使用布爾變量檢查服務器是否停止。 – Zlatan 2012-03-18 18:32:48