有关TCP连接的问题强行关闭

有关TCP连接的问题强行关闭

问题描述:

我正在设计一个使用TCP连接的Java客户端服务器聊天应用程序。当客户端强行关闭时,我无法弄清楚如何在服务器端进行检测。我需要这个,因为我维护着在线客户端列表,当他强制关闭连接时,我需要从列表中删除用户。有关TCP连接的问题强行关闭

任何帮助将不胜感激。

感谢

塔拉·辛格

+0

您觉得这些有帮助吗?请回到您的问题并保持更新。 – Kylar 2010-04-22 17:37:06

一种方式接收到断开的及时通报是尝试定期发送一小块的信息。那么,最新的你会知道客户端断开连接最多是你的间隔。人们称之为心跳。

+0

感谢您的建议。我确实实现了这一点。 – 2010-10-30 20:17:42

假设您的服务器正在使用java.net.Socket,您可以随时查询套接字,它提供方法isClosed()和isConnected()。

这取决于你如何处理你的套接字I/O

例如,如果您使用的是选择(java.nio中)做一组插座的非阻塞I/O你在下一次调用select()时,将会查找有关断开连接的信息。

也许如果你更新你的问题与你如何处理套接字?