【发布时间】:2012-03-29 19:18:48
【问题描述】:
我使用无限循环编写了一个多线程服务器套接字来接受客户端连接。 每个客户端连接都将由一个线程处理。
现在的问题是,在没有任何连接的情况下等待大约 2 小时后,程序会无缘无故停止(没有例外)。
超时设置为无限: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 错误没有消息就出来了。
标签: java serversocket