springboot之websocket,STOMP协议
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:27
一、WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
二、STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议由于设计简单,易于开发客户端,因此在多种语言和多种平台上得到广泛地应用。
三、首先,我们先理解一下为什么需要STOMP。
1)常规的websocket连接和普通的TCP基本上没有什么差别的。
2)那我们如果像http一样加入一些响应和请求层。
3)所以STOMP在websocket上提供了一中基于帧线路格式(frame-based wire format)。
4)简单一点,就是在我们的websocket(TCP)上面加了一层协议,使双方遵循这种协议来发送消息。
四、STOMP
1)Frame

例如:

command:CONNECT
其他部分都是headers的一部分。
2)command类别
CONNECT
SEND
SUBSCRIBE
UNSUBSCRIBE
BEGIN
COMMIT
ABORT
ACK
NACK
DISCONNECT
3)客户端常用连接方式
a、ws
b、sockJs
说明:使用ws协议需要浏览器的支持,但是一些老版本的浏览器不一定支持。Stomp.over(ws)的凡是就是用来定义服务websocket的协议。
4)服务端的实现过程

a、服务端:/app,这里访问服务端,前缀通过设定的方式访问。
b、用户:/user,这里针对的是用户消息的传递,针对于当前用户进行传递。
c、其他消息:/topic、/queue,这两种方式。都是定义出来用于订阅。并且消息只能从这里通过并处理
五、springboot的简单例子
1)目录结构

2)依赖包(pom.xml)
3)websocket配置(WebSocketConfiguration、SecurityConfiguration)
认证配置:
4)服务端
客户端(JavaScript):
5)普通测试

角色测试:

六、相关资料
相关文章
-
springboot支持多少访问量
springboot支持多少访问量
- 互联网
- 2026年04月04日
-
springboot中redis取缓存类型转换异常
springboot中redis取缓存类型转换异常
- 互联网
- 2026年04月04日
-
springboot中使用freemarker生成word文档并打包成zip下载(简历)
springboot中使用freemarker生成word文档并打包成zip下载(简历)
- 互联网
- 2026年04月04日
-
SpringBoot整合Shiro+MD5+Salt+Redis实现认证和动态权限管理丨前后端分离(下)
SpringBoot整合Shiro+MD5+Salt+Redis实现认证和动态权限管理丨前后端分离(下)
- 互联网
- 2026年04月04日
-
springboot整合mybatis源码分析
springboot整合mybatis源码分析
- 互联网
- 2026年04月04日
-
SpringBoot整合aspectj实现面向切面编程(即AOP)
SpringBoot整合aspectj实现面向切面编程(即AOP)
- 互联网
- 2026年04月04日






