基于Stomp协议的时间通知机制

2023-10-27

问题导入

系统运行过程中出现了由主持人的操作推动会议流程的场景,如何将主持人的命令通过服务器同步到每个人的设备上?

问题分析

在当前的系统设计中使用了C/S架构,基本上所有的请求都是终端通过http协议向服务器提出的,而服务器没有办法向终端主动发送消息。

备选方案

  • 终端开启端口监听,运行服务器主动发起连接
  • 终端轮询查询是否出现状态更新
  • 使用WebSocket建立长连接

由于主持人的命令发送具有时间随机、数量少、要求相应速度等要求。耗费大量资源的轮询和终端监听方案被排除。

具体实现

WebSocket协议是一种相当低级的协议。它定义了如何将字节流转换为帧。帧可以包含文本或二进制消息。但是对于参与通信设备的管理功能并没有涉及,例如本场景中所需求的广播支持。经过分析,我们决定使用基于WebSocket协议的协议STOMP来实现这个功能。

导入依赖
使用maven添加依赖
在这里插入图片描述
注册endPoint
注册EndPoint给出设备连接stomp的地址,同时绑定一个消息代理用于处理消息。

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotati
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Stomp协议的时间通知机制 的相关文章

  • SpringMVC注解式控制器的数据验证、类型转换及格式化

    7 1 简介 在编写可视化界面项目时 我们通常需要对数据进行类型转换 验证及格式化 一 在Spring3之前 我们使用如下架构进行类型转换 验证及格式化 流程 类型转换 首先调用PropertyEditor的setAsText String
  • win10计算机分盘怎么设置密码,Win10如何限制磁盘分区被访问 Win10自带磁盘加密功能BitLocker在哪里...

    Win10系统有EFS这个文件加密功能 也自带磁盘加密功能 能让保存在磁盘里的文件上锁 还能给U盘加锁 这个磁盘分区加密功能就是BitLocker驱动器加密 BitLocker驱动器加密是设备加锁工具 防止因为计算机物理丢失导致数据泄露 有
  • ES 查询语句总结(2)内嵌对象查询

    背景 今年写了一个数据中心的项目 其中有相当一部分的数据查询 用的是ES来做的 涉及到dsl的查询语句 从最开始的简单查询 到后面的复杂的查询 逐步掌握了ES的常用写法 现在总结一下 文章内的称呼 没有按照ES的官方称呼 例如sql那边的表
  • python爬虫四:xpath的安装使用以及lxml模块

    1 xpath的介绍 1 1基本概念 XPath XML Path Language 是一种XML的查询语言 他能在XML树状结构中寻找节点 XPath 用于在 XML 文档中通过元素和属性进行导航 xml是一种标记语法的文本格式 xpat
  • 未能找到类型或命名空间名称“XXXX”(是否缺少 using 指令或程序集引用?)

    ICode联盟 项目中 App Code 文件夹中的类的命名空间 在添加的页面的 using XXXX 时 提示 未能找到类型或命名空间名称 XXXX 是否缺少 using 指令或程序集引用 说明要引用的这个类文件的 生成操作 属性没有选择
  • Java中的网络编程

    目录 一 网络编程的概述 二 网络模型 三 网络模型三要素 四 TCP协议与编程 4 1TCP协议的三次 握手模型 4 2TCP协议的四次挥手 五 UDP协议 5 1UDP协议的概念 5 2UDP协议 的代码实现 一 网络编程的概述 网络编
  • 设计模式-享元设计模式

    文章目录 享元模式的核心概念 享元模式的实现 享元模式的使用场景 享元模式优缺点 享元模式的核心概念 享元模式旨在通过共享尽可能多的可复用对象来减少内存和性能开销 它的核心思想是将对象分为两部分 内部状态 Intrinsic State 和
  • export in “node_modules/pinia/node_modules/vue-demi/lib/index.mjs“ for import “hasInjectionContext“

    突然遇到一个问题 No matching export in node modules pinia node modules vue demi lib index mjs for import hasInjectionContext 解决方
  • maven项目添加log4j2

    1 在pom xml中增加log4j2的依赖
  • python如何跳出函数,又如何退出主程序呢?

    跳出函数 可以通过return break continue来跳出函数 退出范围从大到小 可以通过查看下方代码理解 return 直接返回函数 所有该函数体内的代码 包括循环体 都不会再执行 实例如下方代码 运行结果为 123 gt 是列表
  • 应用Matlab对学生成绩excel表格进行统计分类

    今天被任命了一项任务 就是将本科生C 课的成绩进行统计 首先从大工慕课网上把学生的每周成绩Excel表下载下来 然后将自己所属班级的学生成绩登记到自己班上 由于一个班有一百多号学生 而且C 课 课时很长 有十来周的作业 因此立马想到把这个重
  • sql计算字符串类型是时间差

    需要用MySQL计算时间差 使用TIMESTAMPDIFF DATEDIFF 记录一下实验结果 1 默认计算天数 select datediff 2020 09 08 23 59 00 2020 09 10 00 00 00 select
  • 全国计算机vfp是什么,计算机二级VFP数据库简介

    计算机二级VFP数据库简介 引导语 数据库是按照数据结构来组织 存储和管理数据的仓库 以下是百分网小编分享给大家的计算机二级VFP数据库简介 欢迎阅读 一 什么是数据库 我们举个例子来说明这个问题 每个人都有很多亲戚和朋友 为了保持与他们的
  • 微信小程序开发者工具详解

    一 微信小程序web开发工具下载地址 1 1 在微信公众平台 小程序里边去下载开发工具下载地址 1 2 下载后安装一下就可以使用了 二 创建项目 2 1 微信小程序web开发工具需要扫码登陆 所以必须先绑定开发者才可以 2 2 已经绑定的开
  • windows测试工具—SNMP Server测试工具

    概述 告警专项测试时需要在第三方管理软件上查看阵列的故障告警是否正确上报显示及恢复 因此本文档总结采用的第三方管理软件MIB Browser软件的安装 配置 和阵列连接后在MIB Browser上怎么查看告警等内容 以指导进行告警专项测试的
  • java集合知识点汇总

    集合和数组的区别 数组只能存放基本数据类型和引用类型 集合只能存放引用类型 数组是固定长度 集合是可变长度 集合框架API Collection List ArrayList Vector LinkedList Set HashSet Li
  • 变长模板:进阶

    在C 11中 标准定义了7种参数包可以展开的位置 表达式 初始化列表 基类描述列表 类成员初始化列表 模板参数列表 通用属性列表 lambda函数的捕捉列表 语言的其他 地方 则无法展开参数包 我们还可以声明一些有趣的包扩展表达式 扩展1

随机推荐