0
應該如何處理客戶端意外斷開連接。除非客戶明確聲明關閉,否則我想保持服務器運行/收聽。保持(單線程)服務器套接字在意外套接字關閉時監聽客戶端
例如,我的服務器正在偵聽,然後客戶端關閉,導致服務器的方法結束 - 我怎樣才能讓它返回到方法的開始?
serverSocket = new ServerSocket(port);
clientSocket = serverSocket.accept();
out = new PrintWriter(clientSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
BasicProtocol bp = new BasicProtocol(password);
out.println(bp.processInput(""));
String inputLine;
while((inputLine = in.readLine()) != null){
System.out.println("Client asks: " + inputLine);
out.println(bp.processInput(inputLine));
}
如上所述,如果發生連接復位的錯誤怎麼能等待重新連接到?
見下面的例子:['典型多線程server'](http://stackoverflow.com/a/15350754/597657) – 2013-03-20 16:54:51
「這會導致服務器的方法來結束」 - 如何它這樣做?你的異常處理代碼是什麼樣的? – JimmyB 2013-03-20 16:56:59
@ Eng.Fouad所以你必須有多線程處理這個? – Titus 2013-03-20 17:02:32