我想要在用户点击退出登录或者关闭浏览器或者一段时间内无操作的情况下才算下线,页面刷新的情况下不算,能实现吗?
可以实现。 用户退出时给当前用户的所有浏览器页面发送一个关闭包(自己定义格式),让该用户的所有浏览器页面关闭websocket链接,用户就下线了。 浏览器关闭时,利用服务端心跳,能检测出用户已经关闭,自然就全部下线。 刷新页面websocket会瞬间断开,页面重新载入后websocket会再次建立(根据业务情况),只是瞬时的下线,然后又立即在线,这种情况一般业务能接受。
心跳检测是像这文档里面这样做的吗? http://doc3.workerman.net/faq/heartbeat.html
可以实现。
用户退出时给当前用户的所有浏览器页面发送一个关闭包(自己定义格式),让该用户的所有浏览器页面关闭websocket链接,用户就下线了。
浏览器关闭时,利用服务端心跳,能检测出用户已经关闭,自然就全部下线。
刷新页面websocket会瞬间断开,页面重新载入后websocket会再次建立(根据业务情况),只是瞬时的下线,然后又立即在线,这种情况一般业务能接受。
心跳检测是像这文档里面这样做的吗? http://doc3.workerman.net/faq/heartbeat.html