我正在使用Java设计一个使用TCP连接的客户端服务器聊天应用程序。当客户端强行关闭时,我无法弄清楚如何在服务器端检测到。我需要这个,因为我维护一个在线客户端列表,当他强行关闭连接时我需要从列表中删除用户。
任何帮助都将受到高度赞赏。
谢谢
Tara Singh
答案 0 :(得分:2)
及时收到断开连接通知的一种方法是尝试定期发送一小段信息。然后,您将了解客户端断开连接的最新信息最多是您的间隔时间。人们称之为心跳。
答案 1 :(得分:1)
假设您的服务器使用的是java.net.Socket,您可以不时查询套接字,它提供方法isClosed()和isConnected()。
答案 2 :(得分:0)
这取决于您处理套接字I / O的方式
例如,如果您使用选择器(java.nio)在一组套接字上执行非阻塞I / O,那么下次调用select()时,您将了解有关任何断开连接的信息。
如果您更新了有关如何处理套接字的问题,可能会这样做吗?