STOMP 1.2:客户端与本地联调 broker
通过 WebSocket 完成 topic/queue 联调,核对 ACK/NACK、回执、心跳与恢复。
浏览全部手册
本页目录
适用 2026-10-22 的 0.1.0 测试构建,Electron / Tauri 共用操作入口。下载页已提供包含本功能的七个新包;请核对 buildId、SHA-256 与平台验收范围。
搭起本地客户端与服务端
- 在“添加端点”创建 STOMP 服务端,默认
127.0.0.1:61614、WebSocket 路径/stomp、Virtual hostlocalhost,点击“启动服务”。需要认证时勾选“要求账号密码”,填写本次运行的临时凭据。 - 创建 STOMP 客户端,默认地址
ws://127.0.0.1:61614/stomp、Virtual hostlocalhost,按服务端填写临时认证,再“连接”。保存配置不会自动联网。 - 在“消息与订阅”填
/topic/demo,选择 auto 并订阅,再向相同目的地发送Hello。也可在服务端直接“发布测试消息”。 - 用两个客户端订阅
/queue/demo,逐条发送后观察轮转分发;一条 queue 消息只发给一个匹配订阅。 - 停止服务会释放连接、未消费队列和待确认消息,下次启动是新的服务运行。
这是 STOMP 1.2 over WebSocket。客户端可连接 ws/wss,wss 使用原生信任校验,无忽略证书错误开关;本地 broker 仅提供 ws。URL 不接受 userinfo、查询参数或片段。
目的地、确认与回执
| 目的地 | 本地 broker 行为 |
|---|---|
/topic/名称 |
广播给精确匹配订阅;没有订阅者时不保留 |
/queue/名称 |
在匹配订阅间轮转;无消费者时在本次运行内暂存 |
不支持通配订阅、事务、持久队列、集群、原始 STOMP TCP 或 SockJS。第三方 broker 的目的地、持久化和 NACK 策略按其自身规则处理。
| 确认模式 | 手动操作 |
|---|---|
| auto | 无 ACK/NACK 按钮 |
| client | 确认或拒绝本条,以及同一订阅此前未确认消息 |
| client-individual | 只处理当前消息 |
本地 broker 的 NACK 会重新投递:queue 重新进入分发,topic 返回原订阅。queue 在退订或断开后可重新入队,topic 的未确认消息在退订或断开时释放。不要把这些内存行为理解为生产级投递保证。
勾选“请求 RECEIPT 回执”,发送行显示确认或超时。RECEIPT 表示 broker 处理了请求,ACK/NACK 表示消费者确认;发送成功不代表有消费者,更不代表业务已完成。
重连、消息与临时认证
心跳默认发送/接收均为 10000 ms,可设 0 或 1000~60000 ms,由双方协商;STOMP 的 LF 心跳与 WebSocket Ping/Pong 不同。超过约两倍协商接收间隔无数据会结束连接。
自动重连按 1、2、4、8、15 秒退避,后续最多间隔 15 秒;恢复订阅并取得 RECEIPT 后显示已连接。主动断开停止恢复,旧连接的确认标识不能用于新会话。
实时历史最多 500 条且计费预算 8 MiB;清空或淘汰展示历史后,仍待确认的消息在独立列表中保留必要元数据,继续支持 ACK/NACK,不保留正文。重启不会恢复待确认状态。当前没有 STOMP 专用消息导出或原始帧持久日志。
STOMP 登录名/口令与 WebSocket 握手头属于不同认证阶段。临时登录名、口令、请求头、服务端认证开关和值不保存或导出;仅切换端点保留草稿,重启或导入替换后重新填写。保存基础配置与订阅,最多 50 份配置、每份 100 个订阅;两运行时数据不自动同步。
资源范围
单帧与原生 WebSocket 消息最多 1 MiB,头部 64 KiB 且最多 100 项。客户端/每个 broker peer 订阅各最多 100 个;客户端待确认、broker 合计待确认与待回执各最多 1000 条。回执约等待 10 秒,握手约 10 秒。
broker 最多 64 个客户端(含握手中),单 queue 最多 1000 条(含未消费和待确认),留存总计费预算 8 MiB,每次运行最多 1000 个 queue 目的地。每运行时最多 4 个原生 STOMP 传输会话,与普通 WebSocket 会话独立。超限会产生可见错误或关闭相关连接。
仍有疑问?按反馈清单整理复现信息 →