WebSocket

一、协议与交互

客户端 服务端

客户端发起http请求,header携带upgrade字段,进行握手,将协议升级

服务端返回请求,header中携带switching字段,表示允许升级为websocket

此时请求的tcp连接不会断开,客户端可以随时给服务端发送消息,服务端也可以随时给客户端发送消息、

1573896158351

二、传输原理

  • 协议升级后,继续复用HTTP的底层socket完成后续通讯
  • message底层被切分成多个frame帧传输
  • 开发过程中只需要操作message ,无需关心frame
  • 框架底层完成TCP网络I/O, WebSocket协议解析,开发者无需关心