有关TCP连接的问题强行关闭
问题描述:
我正在设计一个使用TCP连接的Java客户端服务器聊天应用程序。当客户端强行关闭时,我无法弄清楚如何在服务器端进行检测。我需要这个,因为我维护着在线客户端列表,当他强制关闭连接时,我需要从列表中删除用户。有关TCP连接的问题强行关闭
任何帮助将不胜感激。
感谢
塔拉·辛格
答
一种方式接收到断开的及时通报是尝试定期发送一小块的信息。那么,最新的你会知道客户端断开连接最多是你的间隔。人们称之为心跳。
+0
感谢您的建议。我确实实现了这一点。 – 2010-10-30 20:17:42
答
假设您的服务器正在使用java.net.Socket,您可以随时查询套接字,它提供方法isClosed()和isConnected()。
答
这取决于你如何处理你的套接字I/O
例如,如果您使用的是选择(java.nio中)做一组插座的非阻塞I/O你在下一次调用select()时,将会查找有关断开连接的信息。
也许如果你更新你的问题与你如何处理套接字?
您觉得这些有帮助吗?请回到您的问题并保持更新。 – Kylar 2010-04-22 17:37:06