前端 Websocket + Stomp.js 的使用

2023-11-13

什么是Stomp

STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛地应用。

服务端要求 

这个库不是单纯的Stomp 客户端。它旨在WebSockets上运行而不是TCP。基本上,WebSocket协议需要在浏览器客户端和服务端之间进行握手,确保浏览器的“same-origin”(同源)安全模型仍然有效。

这意味着该库不能连接常规的STOMP代理,因为Websocket初始化的握手不是STOMP协议的一部分,他们不能理解从而会拒绝连接。

有一些正在进行的工作添加了WebSocket支持STOMP代理,从而他们可以在WebSocket协议上接受STOMP连接。

Stomp API 

STOMP 帧(Frame)

STOMP Over WebSocket 提供了一个直接从Stomp Frame映射到 Javascript 对象的方式。
Stomp Frame帧格式如下:

Property Type Notes
command String name of the frame ("CONNECT", "SEND", etc.)
headers JavaScript object
body String

commandheaders属性始终会被定义,不过当这个frame没有头部时,headers可以为空。若这个frame没有bodybody的值可以为null

创建STOMP客户端

在web浏览器中使用普通的Web Socket

STOMP javascript 客户端会使用ws://的URL与STOMP 服务端进行交互。

为了创建一个STOMP客户端js对象,你需要使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端 Websocket + Stomp.js 的使用 的相关文章

随机推荐

  • Unity使用UnityWebRequest请求服务器json数据,webgl端服务器请求

    根据unity官方说的 WebGL 网络无法直接访问套接字 由于存在安全隐患 JavaScript 代码无法直接访问 IP 套接字来实现网络连接 因此 NET 网络类 即 System Net 命名空间中的所有内容 具体而言就是 Syste
  • error_80051,source size 2780KB exceed max limit 2MB [时间][appid]

    error 80051 source size 2780KB exceed max limit 2MB 时间 appid 微信小程序预览报错 message Error 系统错误 错误码 80051 source size 2780KB e
  • Docker之容器退出(实战)

    docker实战 一 centos7 yum安装docker docker实战 二 基础命令篇 docker实战 三 docker网络模式 超详细 docker实战 四 docker架构原理 docker实战 五 docker镜像及仓库配置
  • 好用的资源推荐

    前端 扁平化前端css框架 materializecss 很喜欢里面的组件和javascript的调用方式 简单易用多组件好看的css框架 semantic ui 简单好看的基于jquery的消息提示框 CodeSeven toastr 好
  • Java小技巧:避免缓存,Java动态加载配置文件

    Java动态加载配置文件 关键 每次读取都要重新生成流 今天无意间在项目的代码中看到如下这样一段简单加载配置文件的代码 Properties prop new Properties InputStream in PropertiesTest
  • 瀑布流&下拉加载

    瀑布流结合列表下拉加载动画过渡展示 前言 需求默认瀑布流展示列表 下拉加载的时候看到列表顺序过渡加载 1 效果样式 如下 下拉瀑布流加载图片列表 2 引入文件 用到macyjs瀑布流与下拉加载插件mescroll mescroll官网 ht
  • 数据结构学习系列之顺序表的两种插入方式

    方式1 在顺序表末端插入数据元素 代码如下 示例代码 int insert seq list 1 list t seq list int data if NULL seq list printf 入参为NULL n return 1 if
  • 【学习之路】axios之axios.CancelToken

    写法 接受一个回调函数作为参数 new axios CancelToken cancel gt cancel是取消本次请的方法 if xxx cancel else TODO 一般用法 用于发出多个相同请求时 取消重复请求 使用场景 使用数
  • 虚拟机:[Errno 256] No more mirrors to try

    使用linux系统的yum命令去安装一些软件时总是会出现各种问题 下面总结一下 首先确认yum搭建成功 使用mount挂载 每次开虚拟机 都记得要mount挂载 因为这个mount是暂时的 关机后下次就必须重新挂载 不然yum无法正常进行
  • 微信小程序隐藏滚动条的方法,以及禁止上下滑动的方法

    webkit scrollbar display none width 0 height 0 color transparent ms scrollbar display none width 0 height 0 color transp
  • android 手机网络接入点名称及WAP、NET模式的区别

    移动 电信 联通 APN cmwap cmnet ctwap ctnet 3gwap uniwap 3gnet uninet设置 APN Access Point Name 即 接入点名称 用来标识GPRS的业务种类 目前分为两大类 CMW
  • PACS系统源码 PACS源码 基于VC + MSSQL开发

    基于VC MSSQL开发的一套大型医院医学影像PACS系统源码 有演示 文末获取联系 PACS系统可以覆盖医院现有放射 CT MR 核医学 超声 内镜 病理 心电等绝大部分DICOM和非DICOM检查设备 支持从科室级 全院级 集团医院级乃
  • @RequestMapping注解和Controller方法建立映射的流程

    当你的才华还撑不起你的野心的时候 唯有静下心来学习 有没有想过 为什么在controller类的方法上 添加一个 RequestMapping toIndex 注解的时候 从浏览器的输入localhost 8080 toIndex请求就可以
  • vscode 配置c/c++环境,与python共用。

    每个人的电脑路径因人而异 下面只是我的配置 仅供参 参考 vscode的安装以及插件软件的安装根据另一个博主的帖子 https blog csdn net weixin 44049923 article details 103619882
  • 小黄的刷题之路(十七)——码题集OJ赛-循环移位

    文章目录 一 题目 二 分析思路 2 1 审题理解 2 2 思路 三 代码实现 3 1 C 实现 四 总结 一 题目 二 分析思路 2 1 审题理解 给我们一个正整数序列 如果能够通过若干次循环左移调整成一个升序序列 那就输出 YES 否则
  • Unity2D--给动画添加关键帧并绑定事件

    关键帧 一添加关键帧 在Animation面板中添加关键帧 二给关键帧绑定事件 添加关键帧后可以先点击关键帧 然后在Inspector面板中绑定事件 Function为方法名
  • Filter实现权限过滤

    有这么一个简单的要求 用户只有登录才能进入主页 一旦退出就无法进入主页 看似好像生来就该如此但代码层次却不简单 首先要判断用户登录状态 然后拦截判断 后面还会学习拦截器 web文件夹下新建一个文件夹名为sys 该文件夹新建jsp页面名为su
  • Linux 查看磁盘空间

    1 查看当前目录的总大小 du sh ps du disk usage 2 查看某个目录的总大小 du sh 目录名 du后面可以跟的参数含义 a 列出所有的文件与目录容量 因为默认仅统计目录底下的文件量而已 h 以人们较易读的容量格式 G
  • Deep Learning 大体概念和事情

    0 深度学习为什么可能 因为一个事物的发生 其背后总有一个理型 或者叫做规律性 这个规律性就体现在原因与结果的作用关系里 把大多数原因和结果进行量化之后 结果与原因间存在一个数量关系方程 使得 结果 f 众原因 找出来这个大致的方程 f 便
  • 前端 Websocket + Stomp.js 的使用

    什么是Stomp STOMP即Simple or Streaming Text Orientated Messaging Protocol 简单 流 文本定向消息协议 它提供了一个可互操作的连接格式 允许STOMP客户端与任意STOMP消息