我有一个网页,我想显示打开该页面的用户。(我在服务器端使用 node.js)
我目前的尝试:
在服务器端,有一个计数器可以计算他向该网页提交 GET 请求的时间。因此,如果他多次打开该页面,counter++
每次用户离开网页时,它都会使用 socket.io 向服务器发送一个 websocket。
window.onbeforeunload = function() {
socket.emit('ClosePage');
}
然后在服务器端,当它接收到这个套接字时,它会将他的计数器减 1,也就是counter--
因此,使用此逻辑,可以检测用户何时打开网页以及何时真正关闭网页。
但是,当用户像疯了一样刷新页面时会出现问题,服务器只会不断地增加计数器而不会减少它,因为窗口还没有卸载(我的猜测)。
有谁知道如何修复这样的东西?或者有谁知道大多数论坛在显示正在阅读帖子的用户或陌生人时使用什么算法?
非常感谢!