Skip to content

什么是 WebSocket?

WebSocket 是基于 TCP 的应用层协议,是专门为 Web 客户端和服务端设计的全双工通信协议。

对比 HTTP 和 WebSocket :

  • 相同点:
    • 都基于 TCP 协议
    • 都是应用层通信协议
    • 默认端口一样,都是 80 或 443
  • 不同点:
    • HTTP 请求只能由客户端发起,服务器无法主动向客户端推送消息,而 WebSocket 可以。
    • HTTP 请求有同源限制,不同源之间通信需要跨域,而 WebSocket 没有同源限制。

WebSocket 的断线重连

何时需要发起重连?

  1. 前端由于网络原因而断开

设计封装一个与 WebSocket 相关的类

基本功能:

  1. 断线重连
  2. 消息队列缓存,网络重新连接后重新发送

可配置参数

  1. 断线重连时间间隔
  2. 断线重连尝试次数
  3. 消息队列最大数据

使用发布订阅模式