STOMP
WebSocket 协议定义了两种类型的消息(文本和二进制),但它们的内容是未定义的。该协议定义了一种机制,允许客户端和服务器协商一个子协议(即更高层的消息协议),以在 WebSocket 之上定义各自可以发送什么样的消息、消息格式是什么、每个消息的内容等等。使用子协议是可选的,但无论如何,客户端和服务器都需要就定义消息内容的某种协议达成一致。
本节摘要
- 概述
- 优势
- 启用 STOMP
- WebSocket 传输
- 消息流
- 带注解的控制器
- 发送消息
- 简单代理
- 外部代理
- 连接到代理
- 点作为分隔符
- 身份验证
- 基于令牌的身份验证
- 授权
- 用户目的地
- 消息顺序
- 事件
- 拦截
- STOMP 客户端
- WebSocket 作用域
- 性能
- 监控
- 测试
补充教学
什么是子协议 (Sub-protocol)?
你可以把 WebSocket 想象成一根透明的管子,它只负责传输字节或字符,但不关心这些东西代表什么。而 STOMP 就是在这根管子里运行的语言。
如果没有子协议,你就得自己定义类似 {"type": "chat", "content": "hello"} 的 JSON 格式,并编写复杂的解析逻辑。有了 STOMP,这些“脏活累活”框架都已经帮你标准化了。