Skip to content

Latest commit

 

History

History
13 lines (13 loc) · 1.23 KB

WebScoket底层原理.md

File metadata and controls

13 lines (13 loc) · 1.23 KB
  1. 握手阶段
    • 客户端发起WebSocket连接请求时,首先会发送一个HTTP请求给服务器,包含特定的WebSocket头部信息,如Upgrade和Connection字段。
    • 服务器收到请求后,进行握手确认,返回状态码101 Switching Protocols,表示已经切换到WebSocket协议。
  2. 建立连接
    • 握手完成后,客户端和服务器之间建立了WebSocket连接,此时是持久连接,双方可以随时发送数据。
  3. 数据帧格式
    • WebSocket数据传输采用数据帧的方式,在实际通信中,将数据封装成一系列的数据帧进行传输。
    • 数据帧由固定的格式组成,包括FIN(结束标志位)、RSV(保留位)、Opcode(操作码)、Mask(掩码位)等字段,用于表示数据的类型、长度和处理方式。
  4. 心跳检测
    • WebSocket连接建立后,客户端和服务器之间可以通过心跳机制来维持连接的稳定性,避免连接超时断开。
    • 双方定期发送心跳数据帧,以确认对方仍然处于连接状态。
  5. 断开连接
    • 当需要断开WebSocket连接时,可以通过特定的关闭数据帧来结束连接,双方收到关闭帧后,即可安全地关闭连接。