什么是 WebSocket?
WebSocket 是基于 TCP 的应用层协议,是专门为 Web 客户端和服务端设计的全双工通信协议。
对比 HTTP 和 WebSocket :
- 相同点:
- 都基于 TCP 协议
- 都是应用层通信协议
- 默认端口一样,都是 80 或 443
- 不同点:
- HTTP 请求只能由客户端发起,服务器无法主动向客户端推送消息,而 WebSocket 可以。
- HTTP 请求有同源限制,不同源之间通信需要跨域,而 WebSocket 没有同源限制。
WebSocket 的断线重连
何时需要发起重连?
- 前端由于网络原因而断开
设计封装一个与 WebSocket 相关的类
基本功能:
- 断线重连
- 消息队列缓存,网络重新连接后重新发送
可配置参数
- 断线重连时间间隔
- 断线重连尝试次数
- 消息队列最大数据
使用发布订阅模式