ServerSocket serverSocket = new ServerSocket(portNumber)
Socket socket = serverSocket.accept();
try (
BufferedReader in = new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
) {
while (in.readLine() != null) {
//do something
}
System.out.println("reach me if you can");
socket.close();
}
編寫我的服務器/客戶端軟件時,我試圖實現顯示當前連接數量的功能。但是我意識到,當客戶端突然終止時,我的服務器從不收到消息;它只是在in.readLine()
等待。我應該如何確保創建用於處理特定連接的Thread
不會在連接中斷時繼續運行?如何獲得客戶端斷開連接的通知?
[看這裏](https://community.oracle.com/thread/1823461?start=0&tstart=0) – user2413972
@ user2413972那麼,你的觀點是什麼?他也沒有得到他所需要的幫助。而且我比那個人更滯留,因爲我的'in.readLine();'不響應客戶端終止。 – user2651804
我一直在寫網絡代碼。有收據-1字節或異常。 – user2413972