java socket 服务器端如何主动获取客户端的实时连接状态

java socket 服务器端如何主动获取客户端的实时连接状态,如果客户端断开,却不发数据给服务器,没有异常抛出,该如何判断客户端此时已经断开连接呢?

阅读 8.6k
2 个回答

做心跳包的处理,也就是如果x秒后未收到消息,则向客户端发送一个alive请求,等待回应,若重试Y次未回应,则判断为断开

如果常规使用socket如果client断开了,都会发送FIN来断开连接,这时write/read会返回0,表示连接断开

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题