WebSockets
STOMP
STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议为许多公司都提供了基于STOMP的服务器与客户端。
STOMP定义了客户端和服务器之间以Frame进行同行,Frame的格式为:
COMMAND例如:
header1:value1
header2:value2
Body^@

COMMAND分为CONNECT、SEND、SUBSCRIBE、UNSUBSCRIBE、BEGIN、COMMIT、ABORT、ACK、NACK、DISCONNECT这几种。
COMMAND之后下一行紧跟着的是头部的键值对,之后加入一条空行,空行之后为body,即传递的消息实体。
WebSockets与STOMP的区别:
websockets基于tcp,是一种数据传输协议,而stomp是一种文本协议,有点类似tcp与http协议的关系,tcp可以传输二进制文件,tcp不会涉及传输的内容是什么,而是按照自己的协议打包传输数据,有点类似于现在的运输物流,而http是利用tcp这个传输工具创立的一套超文本传输协议,他对请求应答设置了文本规则,比较get post方法,http status状态码设定,类似于快递邮寄。
所以websockets与stomp的区别也可以是物流运输与快递的区别,快递是建立在物流运输的基础上,当然stomp协议可以建立在非websocket上,比如tcp、udp等。
网友回复
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


