【问题标题】:Question regarding TCP Connection Forcefully shut down关于强制关闭 TCP 连接的问题
【发布时间】:2010-04-15 01:07:09
【问题描述】:

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

我们将不胜感激任何帮助。

谢谢

塔拉·辛格

【问题讨论】:

  • 你觉得这些有用吗?请返回您的问题并及时更新。

标签: java sockets client-server serversocket


【解决方案1】:

及时接收断开连接通知的一种方法是尝试定期发送一小段信息。然后,您将知道的客户端断开连接的最新消息最多是您的时间间隔。人们称之为心跳。

【讨论】:

  • 感谢您的建议。我确实实现了这个。
【解决方案2】:

假设你的服务器使用的是java.net.Socket,你可以不定时的查询socket,它提供了方法isClosed()和isConnected()。

【讨论】:

    【解决方案3】:

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

    例如,如果您使用选择器 (java.nio) 在一组套接字上执行非阻塞 I/O,您将​​在下次调用 select() 时发现任何断开连接。

    如果你更新了你的问题,你是如何处理套接字的?

    【讨论】:

      猜你喜欢
      • 2012-11-19
      • 2021-12-09
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多