WebSocket【应用层】
一、介绍
WebSocket 是基于 TCP 的一种新的网络协议。可以实现浏览器与服务器之间实时、双向的通信
二、对比
WebSocket | HTTP | |
连接 | 长连接 | 短连接 |
通信 | 单向,基于请求响应模式(先请求,后响应) | 双向通信(无请求,可响应) |
底层 | TCP连接 |
三、问题
既然 WebSocket 支持双向通信,功能看似比 HTTP 强大,那么我们是不是可以基于 WebSocket 开发所有的业务功能?
答:
1. HTTP 协议稳定易实现,大部分Web开发后台都没有主动发送数据给前端的需求
2. WebSocket 协议相对复杂,维护长连接也需要增加服务器资源开销,还要处理连接端开后重连问题
因此,WebSocket 并不能取代 HTTP,它只适合在高实时的场景,需要服务器给客户端主动推送数据。
四、WebSocket 使用步骤
1. 导入 WebSocket 的 maven 坐标
2. 注册服务器端对象到 IOC 容器
3. 收消息:@OnMessage
4. 发消息:webSocketServer.sendToAllClient(message);