当前位置: 首页 > 工具软件 > SockJS > 使用案例 >

websocket系列:基于SockJS和STOMP实现

狄天逸
2023-12-01

前言

本文继续websocket系列,介绍如何基于STOMP协议构建交互式web应用。


一、STOMP是什么?

STOMP是在较低级别的WebSocket之上运行的子协议。

STOMP即 Simple(or Streaming) Text Oriented Messaging Protocol 的简称,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许 STOMP 客户端与任意 STOMP消息代理(Broker)进行交互,STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛应用。
之前的介绍谈到 WebSocket是基于 TCP协议的,直接使用WebSocket(或者SockJS)来编程就与直接使用TCP套接字来编程web应用类似,这会非常难受,因为没有高层协议,因此就需要我们定义应用间所发送消息的语义,还需要确保连接两端都能遵循这些语义。
那么现在STOMP就派上用场了,同HTTP在TCP套接字上添加请求-响应模型层一样,STOMP在 WebSocket之上提供了一个基于帧的线路格式(frame-based wire format层,用来定义消息语义。

与HTTP请求和响应类似,STOMP帧由命令、一个或多个头信息以及负载所组成。例如,如下就是发送数据的一个STOMP帧:

>>> SEND
transaction
 类似资料: