网站首页 > 博客文章 正文
前阵在做WebSocket的一些项目测试时,发现网上很多文章都说可以用Session来统计在线人数,我认为这里有误导的成分。
Session对于每个访客,会产生一个唯一的session_id,所以访客和session_id可以理解为class(类)和private(私有成员)的关系,不同的访客就是不同的class,不同的session_id就是不同的private成员。
所以访客A是访问不了访客B的Session数据的。
Session在服务器的存活时间默认情况下是1440秒,即24分钟。不过多数情况下大家都会根据自己的需要来设置这个值。那么问题就来了,当访客是非正常退出,比如最常见的就是直接关闭浏览器,这时候的Session数据因为还在存活期内、又没有接收到变更指令,所以是不会变化的,不管是写入数据库还是检查session_id文件,都无法有效避免这种情况。(如下图1)
上图是使用网上一个测试样例的测试结果。结果显示,在线的访客还有好多,红色的都是。而实际上除了1个是真正在线的,其他的都已经不在线了,连浏览器都关掉了的。
由此可见,用Session来统计在线人数的方案放到项目中是行不通的。要实现实时统计在线人数,可以使用WebSocket技术。
WebSocket技术广泛应用于日常生活中,如扫码登录、扫码支付等多端互动共同完成一件事的场景。(如图2)
上图是一个WebSocket项目的测试场景,实现多端互动完成扫码支付和即时通知的功能。不过使用WebSocket技术来统计在线人数,是不是有点大材小用呢?
猜你喜欢
- 2025-04-09 Springboot下的WebSocket开发(springboot整合websocket)
- 2025-04-09 如何实现 WebSocket 反向代理?(反向代理tcp)
- 2025-04-09 Java实现即时通讯的优雅之选——Websocket
- 2025-04-09 Spring Boot整合WebSocket:开启实时通信之旅
- 2025-04-09 Flutter UI自动化测试技术方案选型与探索
- 2025-04-09 Spring Boot3 竟能如此轻松整合 WebSocket 技术,你还不知道?
- 2025-04-09 揭秘利用python+unittest实现Webscoket协议接口测试
- 2025-04-09 【Spring Boot】WebSocket 的 6 种集成方式
- 2025-04-09 Spring Boot3 中 WebSocket 实现数据实时通信全解析
- 2025-04-09 fastapi调试websocket报错404的处理方案
你 发表评论:
欢迎- 最近发表
-
- 解决Win10打开软件提示“服务器没有及时响应或控制请求”
- 用友UAP解开非结构化大数据处理与分析的密码
- Windows 25H2 修复底层崩溃(windows修复环境)
- 开源技巧:使用Docker实现交互式任务
- Win11 任意版本 直接安装 Android 应用 教程完整版
- Windows Terminal已成为Windows 11操作系统的默认终端
- 那些好莱坞电影中炫酷的特效 原来是这么拍的
- Windows 10 Build 21327.1010发布:测试服务管道更新
- Made in China: The story behind the label
- PowerShell登录远程Linux系统(powershell开启远程桌面)
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)