首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
如何利用websocket统计用户每天在线时长?
一开始思路是通过`onOpen`和`onClose`来记录上线和下线时间进行统计。如果上线和下线发生在一天内还比较好统计。如果是用户前一天上线,一直到第二天才下线,第二天又上线一段时间,这样的话,该如何统计?又如用户上线后一直在线好几天,才下线,这样的话,该如何统计“每天”在线时间? PS:不用质疑用户为何会一直在线这麽长时间,其实用户是指智能终端。
发布于6年前 · 2 次浏览 · 来自
提问
那
那些花儿
一开始思路是通过`onOpen`和`onClose`来记录上线和下线时间进行统计。如果上线和下线发生在一天内还比较好统计。如果是用户前一天上线,一直到第二天才下线,第二天又上线一段时间,这样的话,该如何统计?又如用户上线后一直在线好几天,才下线,这样的话,该如何统计“每天”在线时间? PS:不用质疑用户为何会一直在线这麽长时间,其实用户是指智能终端。
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-02-16
倾
倾爱の氓氓
我觉得在计算的时候,应该能获取到设备在线情况吧?如果在线,你既然想计算每天时长,直接认为是到0点就行了。并且打好标记。
赞
0
回复
2020-02-16
⒈
⒈执笔小吏…
这个你设个累计时间, 上线就隔段时间累加一次, 比如5分钟就加5. 然后做个定时任务, 在午夜的时候, 累计时间存入数据库, 清零不就完了.
赞
0
回复
2020-02-20
s
sun
统计累计在线时长还是实时显示设备在线时长还是显示设备每天累计在线时长? 累计在线时长onOpen和onClose的时候记录一下就行了, 实时显示设备在线时长当前时间-onOpen就可以了 每天在线时长要复杂一些,需要记录当天是否在线过,建议做定时任务,每天生成前一天的在线时长,方法就是onOpen记录登陆点,每半天增加一个在线点,当天不存在在线点即为下线,存在在线点,取出来排序计算时长即可,方法笨了点,但是能用!
赞
0
回复
2020-02-26
F
Fatal
如果一旦onOpen 当天未onClose 则在线时长为当天23:59:59减去上线时间,如果跨天话,直接是整天噻 我建议是做心跳,心跳是最好的解决方案
赞
0
回复
2020-03-11
三十五
每次上线记录上线时间,下线记录下线时间,下线后通过下线时间减去上线时间是不是可以得到本次在线时间单位(秒) 以此类推 最后求和是不是就是这个用户的在线时间了呢?
赞
0
回复