websocket流程图
时间: 2024-08-12 20:05:31 浏览: 155
WebSocket图文解析
WebSocket是一种在单个TCP连接上进行全双工通信的协议,常用于实时应用如聊天、在线游戏等。以下是WebSocket的基本工作流程图的大致步骤:
1. **握手阶段**(Handshake):
- 客户端发起一个HTTP GET请求,目标URL通常带上`Upgrade`和`Connection: Upgrade`头信息,以及`Sec-WebSocket-Key`字段。
- 服务器回应一个HTTP响应,其中包含`Upgrade`到`WebSocket`,`Connection`为`Upgrade`,还有`Sec-WebSocket-Accept`,这是对客户端密钥计算后的结果。
2. **升级连接**(Upgrade Connection):
- 如果服务器接受升级请求,它会返回一个新的TCP连接,并关闭原来的HTTP连接。
- 连接建立后,双方开始通过WebSocket协议交换数据。
3. **持续开放的连接**(Keep-alive):
- 双方可以无限次数地发送JSON格式的消息,这些消息被称为帧(Frame),包括文本帧、二进制帧和控制帧(如ping/pong)。
4. **关闭连接**(Closing):
- 任意一方可以选择主动关闭连接,这时通过发送一个FIN标志的关闭控制帧(Close Frame)。
- 对方收到关闭帧后,可以选择回复一个确认关闭的帧,然后等待一段时间后关闭连接。
5. **断开连接**(Termination):
- 当双方都完成关闭操作后,TCP连接才会真正关闭。
阅读全文