目录
1.使用 @stomp/stompjs(前端 JavaScript)

一、STOMP 概述
STOMP(Simple Text Oriented Messaging Protocol)是一个轻量级、基于文本的消息协议,类似于 HTTP,但用于消息中间件(Broker),常配合 WebSocket 实现实时通信。
-
核心特点
-
文本协议,可用 UTF-8 或 JSON 消息。
-
可在 WebSocket 上直接传输,适合浏览器客户端。
-
支持
CONNECT,SEND,SUBSCRIBE,UNSUBSCRIBE,ACK,NACK,DISCONNECT等命令。 -
Broker(如 ActiveMQ、RabbitMQ、Apollo、EMQX)可以管理订阅和消息路由。
-
-
典型应用
-
实时聊天系统(IM)
-
消息推送(通知、订单状态)
-
IoT 设备事件订阅
-
二、WebSocket 与 STOMP 的关系
Client WebSocket <--------> Broker/STOMP
(ws:// / wss://)
-
WebSocket 负责 传输层(TCP 长连接)。
-
STOMP 定义 消息语义层(命令、头、消息体)。
-
WebSocket + STOMP = 浏览器/移动端可直接连接 Broker,实现 Pub/Sub 消息系统。
三、STOMP 消息模型
1.Frame 结构
STOMP 消息称为 Frame,基本格式:
COMMAND
header1:value1
header2:value2
body^@
-
COMMAND:如 CONNECT、SEND、SUBSCRIBE、ACK。
-
Headers:键值对(可选)。
-
Body:消息内容,可为 JSON、文本等。
-
^@表示 NULL 字节(消息结束符)。
2.常用 Frame
| COMMAND | 说明 |
| CONNECT | 客户端连接 Broker,握手鉴权 |
| CONNECTED | Broker 返回成功连接 |
| SEND | 客户端向 Broker 发送消息 |
| SUBSCRIBE | 客户端订阅指定 destination(主题) |
| UNSUBSCRIBE | 取消订阅 |
| ACK | 消费确认(事务型消息) |
| NACK | 消费失败,重新投递 |
| DISCONNECT | 客户端断开连接 |

通过 WebSocket 进行 STOMP 操作&spm=1001.2101.3001.5002&articleId=154650385&d=1&t=3&u=1d16fef0425c4c22bc5e9280f1438461)
1万+

被折叠的 条评论
为什么被折叠?



