java吧 关注:1,293,640贴子:12,828,217

大佬们我想问个关于websocket的问题

只看楼主收藏回复

就是我有一个模块有注册人数,在线活跃人数等等...
需要做一个实时显示,应该在什么时候把消息推给前端


IP属地:上海来自Android客户端1楼2022-11-15 15:52回复
    有人上线 有人注册时推送数据


    IP属地:四川3楼2022-11-15 16:15
    收起回复
      2026-01-05 18:55:56
      广告
      不感兴趣
      开通SVIP免广告
      既然是实时显示,那难道你还能固定间隔时间推送一次?


      IP属地:湖南4楼2022-11-15 17:09
      收起回复
        弄个队列或者开个线程一秒查次数据库更新


        IP属地:江苏来自Android客户端5楼2022-11-16 18:02
        回复
          这种消息应该是客户端轮询请求,数据放在缓存中


          IP属地:广东来自Android客户端6楼2022-11-16 18:57
          回复
            定时任务,隔一段时间推一次就行,这俩数本来就不要求太高的实时性,甚至让前端走HTTP轮训查都行...


            IP属地:北京7楼2022-11-16 19:10
            回复
              前端轮训,人数放缓存


              IP属地:四川来自Android客户端8楼2022-11-16 19:50
              回复
                单独开个线程进行模糊查询不好吗?


                IP属地:北京来自Android客户端9楼2022-11-17 03:42
                回复
                  2026-01-05 18:49:56
                  广告
                  不感兴趣
                  开通SVIP免广告
                  定时任务


                  IP属地:江苏来自Android客户端10楼2022-11-17 07:17
                  回复
                    感谢吧友们给我提出的解决方案,这边我用监听器解决了这个问题


                    IP属地:上海来自Android客户端13楼2022-11-17 09:40
                    收起回复
                      前端设置随机时间轮询,数据放缓存


                      IP属地:广东来自Android客户端14楼2022-11-17 09:42
                      回复
                        onConnect和onDisConnect的时候搂个在线数量广播出去不就完了,都用不着轮询,缺点就是人数一多了广播压力就大。


                        IP属地:辽宁15楼2022-11-17 09:43
                        回复
                          如果只是这种功能不需要ws,让前端每分钟发一次轮询就可以了


                          IP属地:浙江来自Android客户端16楼2022-11-17 10:03
                          回复
                            监听redis,登录人员信息,触发事件推送到ws


                            IP属地:山东来自iPhone客户端17楼2022-11-17 11:55
                            回复