我編寫了一個使用無限循環接受客戶端連接的多線程服務器套接字。 每個客戶端連接都將由一個線程處理。JAVA無限服務器套接字無端停止
現在的問題是,在等待大約2個小時而沒有任何連接之後,程序將無故停止(沒有例外)。
timeout設置爲無限:setSoTimeout(0); 這裏的服務器套接字代碼段:
try {
while(true) {
socket = server.accept();
BufferedReader ois = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter oos = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
SocketHandler socketH = new SocketHandler(socket, ois, oos, this);
Thread socketT = new Thread(socketH);
socketT.start();
}
} catch (Exception e) {
Debugger.log(e.getClass().toString() + ": " + e.getMessage());
}
我真的很困惑,任何幫助將非常感激,謝謝!
試着抓住Throwable。也許有些JVM錯誤沒有消息就出來了。 – 2012-03-29 19:27:01