在日常业务中,我们常需要统计当前在线人数,也就是连接了 websocket 的用户量有多少,通过阅读源码发现,在 org.tio.core 包下面的 TioConfig 文件中可以找到统计人数的对象
1、源码解读
我们可以看出 org.tio.core.TioConfig 文件中记录了大量的数据,例如:系统的启动时间,本jvm中所有的TioConfig对象,心跳超时时间等数据,再往下找,可以看到有一个 users 对象,这里面记录了连接 websocket 的所有对象,Users 这个类中存在的 mapWithLock 常量,就是用来记录用户的连接信息的,并提供了 getMap() 方法,这样我们就可以轻松获得系统中的实时在线人数了
2、获取实时在线人数
- 1、首先获取配置文件
// 获取配置文件
ServerTioConfig serverT