码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WebSocketSession 发布订阅模式的学习


    问题

    • 存储sessionId和webSocketSession
      • 需要注意的是,webSocketSession没有提供无参构造,不能进行序列化,也就不能通过redis存储
      • 在分布式系统中,要想别的办法实现webSocketSession共享

    原理学习

    发布者:做广播的动作
    订阅者:订阅者需要在启动java的时候就加载进去,必须是这个时刻。否则的话发布消息的时候还没订阅,那广播的动作已经在做,同时订阅和广播就会出现时间差。
    springboot结合redis的发布订阅关键代码

    // 发布
    redisTemplate.convertAndSend("my_topic_name", "message_content");
    
    // 配置订阅
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.addMessageListener(xxxMessageListenerAdapter, "my_topic_name");
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    hollis
    redis.convertAndSend()这个方法的作用为,向某个通道(参数1)推送一条消息(第二个参数)。

    注意:生产者和消费者的通道名要相同。

    gas

    发布订阅是一种消息模式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。
    在这里插入图片描述

    mlwsmqq

    斗者2013
    在这里插入图片描述


    解决

    先看看别人的,运行成功java引导者
    缺陷:
    1要是id对上了即第一次发送就成功了就不用去广播了,加个if判断1
    2还有就是自己这里的usermap是map,而别人的那个是只有一个map
    这里的websocket对象这个是直接继承的。就相当于别人的那个websocketServer(),别人只是重新封装了一下重载
    3我自己的业务要求是2个实例
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    智能语音热水器:置入NRK3301离线语音识别ic 迈向智能家居新时代
    Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想+多租户saas设计的企业开发架构
    【JavaSE】JavaSE之数组的定义和使用
    IM即时通讯开发WebSocket从入门到精通
    使用Qt验证RGB格式
    Scala编程实战 —— 一文学会编码大数据基础案例wordcount
    Golang版本处理Skywalking Trace上报数据
    Linux权限管理(用户+文件)
    【函数指针】
    mysql json类型映射查询
  • 原文地址:https://blog.csdn.net/weixin_43930851/article/details/127102568
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号