java中的连续监控客户端socket连接
我正在用java进行客户机-服务器编程。 当客户失去互联网连接时,我如何得到通知。这样我就可以为其他用户释放该端口
我收到的客户请求如下:
readerIn = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
readerIn.readLine();
所以在这里,我的代码无限期地等待客户端消息,而他已经失去了互联网连接。我需要在后台检查他的网络连接。请帮忙
谢谢
# 1 楼答案
一个选择是尝试NIO套接字编程。一个随机的快速教程here
它有点复杂,但代码结构很健壮,您可以轻松地扩展它以满足您的需求
# 2 楼答案
不需要任何“背景”。只要用
Socket.setSoTimeout(),
设置一个合理的读取超时,并通过关闭套接字和退出线程来处理结果SocketTimeoutException