请教下如何统计在线人数

如题

java
409 views
Comments
登录后评论
Sign In
·

粗略统计的话,比如半小时内,可以用 http session 的活跃时间去统计,精确的话,比如有 websocket,直接统计 websocket 的 session 数量就可以(因为 websocket session 断开就会销毁)

·

目前估计是不太准确, 不是基于websocket的话

·

可以直接前端打点,鼠标动一下,或者页面滚动的时候就打点记录改用户,然后计算一个 gap 时间内打了多少个点就可以。

·

看实现把。简单点可以记录一个 session token 的 last_requested_at 时间戳,然后定义该时间戳在5分钟范围内为 online,然后定时脚本清理5分钟前的时间戳。

websocket 的话也可以,好处是不用定时脚本,但是最好也要标记到 user id,不然多开几个页面就不准了。

·

我想知道本站的统计是怎么统计的

·

这种应该感觉可以根据websocket

·

如果用socket.io的话,会有房间的概念,可以获取到房间的size