如何利用websocket统计用户每天在线时长?

发布于 2022-09-12 00:43:29 字数 214 浏览 18 评论 0

一开始思路是通过onOpenonClose来记录上线和下线时间进行统计。如果上线和下线发生在一天内还比较好统计。如果是用户前一天上线,一直到第二天才下线,第二天又上线一段时间,这样的话,该如何统计?又如用户上线后一直在线好几天,才下线,这样的话,该如何统计“每天”在线时间?

PS:不用质疑用户为何会一直在线这麽长时间,其实用户是指智能终端。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

飘落散花 2022-09-19 00:43:29

我觉得在计算的时候,应该能获取到设备在线情况吧?如果在线,你既然想计算每天时长,直接认为是到0点就行了。并且打好标记。

So尛奶瓶 2022-09-19 00:43:29

这个你设个累计时间, 上线就隔段时间累加一次, 比如5分钟就加5.
然后做个定时任务, 在午夜的时候, 累计时间存入数据库, 清零不就完了.

缺⑴份安定 2022-09-19 00:43:29

统计累计在线时长还是实时显示设备在线时长还是显示设备每天累计在线时长?
累计在线时长onOpen和onClose的时候记录一下就行了,
实时显示设备在线时长当前时间-onOpen就可以了
每天在线时长要复杂一些,需要记录当天是否在线过,建议做定时任务,每天生成前一天的在线时长,方法就是onOpen记录登陆点,每半天增加一个在线点,当天不存在在线点即为下线,存在在线点,取出来排序计算时长即可,方法笨了点,但是能用!

眉黛浅 2022-09-19 00:43:29
  1. 如果一旦onOpen 当天未onClose 则在线时长为当天23:59:59减去上线时间,如果跨天话,直接是整天噻
  2. 我建议是做心跳,心跳是最好的解决方案
南冥有猫 2022-09-19 00:43:29

image.png
我采用了最笨的方法14分钟统计一次 在线 则 在线率 +1 有什么更好的解决方法吗

我这边也是智能终端,采用点名的方式...点到了更新在线率

梅窗月明清似水 2022-09-19 00:43:29

每隔一分钟1次心跳,怎么样?1次心跳+1分钟在线时间,加点时间点检测,上次心跳时间~本次时间

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文