如何记录用户真实在线情况?

94技术宅

我想要在用户点击退出登录或者关闭浏览器或者一段时间内无操作的情况下才算下线,页面刷新的情况下不算,能实现吗?

2628 1 0
1个回答

walkor

可以实现。
用户退出时给当前用户的所有浏览器页面发送一个关闭包(自己定义格式),让该用户的所有浏览器页面关闭websocket链接,用户就下线了。
浏览器关闭时,利用服务端心跳,能检测出用户已经关闭,自然就全部下线。
刷新页面websocket会瞬间断开,页面重新载入后websocket会再次建立(根据业务情况),只是瞬时的下线,然后又立即在线,这种情况一般业务能接受。

年代过于久远,无法发表回答
🔝