Skip to content

STOMP

WebSocket 协议定义了两种类型的消息(文本和二进制),但它们的内容是未定义的。该协议定义了一种机制,允许客户端和服务器协商一个子协议(即更高层的消息协议),以在 WebSocket 之上定义各自可以发送什么样的消息、消息格式是什么、每个消息的内容等等。使用子协议是可选的,但无论如何,客户端和服务器都需要就定义消息内容的某种协议达成一致。

本节摘要


补充教学

什么是子协议 (Sub-protocol)?

你可以把 WebSocket 想象成一根透明的管子,它只负责传输字节或字符,但不关心这些东西代表什么。而 STOMP 就是在这根管子里运行的语言

如果没有子协议,你就得自己定义类似 {"type": "chat", "content": "hello"} 的 JSON 格式,并编写复杂的解析逻辑。有了 STOMP,这些“脏活累活”框架都已经帮你标准化了。

Based on Spring Framework.