java中的连续监控客户端套接字连接

java中的连续监控客户端套接字连接,java,sockets,Java,Sockets,我正在用java进行客户机-服务器编程。 当客户失去互联网连接时,如何通知我。这样我就可以为其他用户释放该端口 我收到的客户请求如下: readerIn = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); readerIn.readLine(); 所以在这里,我的代码无限期地等待客户端消息,而他已经失去了互联网连接。我需要在后台检查他的网络连接。请帮忙 谢谢一个选择是尝试NIO套接字编程。一个随

我正在用java进行客户机-服务器编程。 当客户失去互联网连接时,如何通知我。这样我就可以为其他用户释放该端口

我收到的客户请求如下:

readerIn = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
readerIn.readLine();
所以在这里,我的代码无限期地等待客户端消息,而他已经失去了互联网连接。我需要在后台检查他的网络连接。请帮忙


谢谢

一个选择是尝试NIO套接字编程。一个随机的快速教程


它有点复杂,但代码结构很健壮,您可以轻松地扩展它以满足您的需要。

无需任何“后台”操作。只需使用
Socket.setSortimeout(),
设置一个合理的读取超时,并通过关闭套接字并退出线程来处理产生的
SocketTimeoutException

创建一个新线程,该线程将在后台工作。您如何处理SocketException?
Socket.isConnected()
对等机断开连接时不会神奇地变为false。它告诉您是否曾经连接过
插座
。它不会告诉您任何有关连接状态的信息。另外,没有为
java.io
java.net
类定义并发关闭。此外,这个循环从不休眠,因此它将冒烟CPU-1我阅读了有关断开连接的文档。你说得对:)删除了错误代码并发布了更好的教程。