深圳网站建设公北京百度关键词优化
引用:https://blog.csdn.net/print_helloword/article/details/142597122
什么是STOMP协议
STOMP (simple text oriented messaging protocol): 一种简单的,基于文本的消息传输协议,,,最初是为了解决在消息队列中,,发布/订阅 消息的问题,,,stomp作为应用层协议,,能够与多个消息中间件和传输协议配合使用,,尤其是在websocket中,,stomp能够有效的简化消息的发布和订阅
stomp是基于 帧(Frame)的协议,每个帧都是基于文本的结构化消息,包含了命令
,头部字段
,消息体
这三个结构,, stomp的帧结构十分简单,类似于http请求,命令和头部字段都是纯文本,方便解析和调试
stomp的帧结构
命令: 表示帧的类型。 ==》
- CONNECT
. : 客户端连接到服务器,,发送这个命令,用于建立会话
- CONNECTED
: 连接成功,服务端返回这个命令
- SEND
, : 发送消息到指定的队列
- SUBSCRIBE
: 订阅某一个队列的消息
- UNSUBSCRIBE
: 取消订阅
- ACK
: 客户端确认接收到某个消息,用于保证消息的可靠传输
- DISCONNECT
:客户端断开与服务器的连接
- MESSAGE
: 服务器推送给客户端消息
头部字段: headers
消息体: 可选的消息内容,,可以是任何的文本或者二进制数据
订阅消息:
SUBSCRIBE
destination:/topic/news
id:sub-001
ack:auto
客户端发送消息:
SEND
destination:/topic/newsHello, this is a message!
stomp经常和websocket一起使用,因为websocket本身只是一种双向通信协议,并不内置消息的路由和发布/订阅 机制,,而stomp提供了这些高级功能,补充了websocket的不足,使得在websocket上构建实时的,基于消息的应用变得更加容易
stomp在springboot中的实现
springboot 提供了对stomp的全面支持,可以轻松实现基于stomp的websocket应用。。通过spring的
@EnableWebSocketMessageBroker
注解,开发者可以将stomp消息代理集成到web应用中
springboot中使用stomp:
https://blog.csdn.net/print_helloword/article/details/142597383
https://blog.csdn.net/print_helloword/article/details/142816204