一、概述
WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。
想象一下平时我们使用的聊天软件,当你发送一条信息后,通常不需要刷新页面,对方就能准时收到消息;同样地,当对方回复时,你也能立即看到新消息。这种实时且双向的数据交换就是WebSocket实现的效果。
与传统的HTTP请求不同,HTTP请求通常是单向的,客户端发送一个请求到服务器,服务器返回一个响应,结束这次通信;如果客户端需要新的数据,它必须再次发起请求。这个过程通常不能立即被客户端触发,这就导致了数据的实时更新较为复杂。
简单的说,Http就像是俩个人互相写信,而WebSocket就是俩个人互相打电话
WebSocket缺点:
服务器长期维护长连接需要一定的成本 各个浏览器支持程度不一 WebSocket 是长连接,受网络限制比较大,需要处理好重连
结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用
二、使用
1、添加依赖
WebSocket依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<