WebSocket 通信流程详解
创作时间:
作者:
@小白创作中心
WebSocket 通信流程详解
引用
1
来源
1.
https://geek-docs.com/websocket/websocket-tutorials/websocket-communication-proces.html
WebSocket是一种在单个TCP连接上进行全双工通信的协议。它使得客户端和服务器之间的数据交换变得更加简单,允许服务器主动向客户端推送数据。本文将从WebSocket握手操作、传输原理和端点的生命周期事件三个方面详细介绍WebSocket的通信流程。
WebSocket握手操作
基于HTTP调用完成握手操作,如下图所示,客户端首先发起一个HTTP请求到服务端,该请求的特殊之处在于在Header里面包括一个upgrade字段,告诉服务端想升级成WebSocket协议。
服务端收到后就会响应一个握手的确认,发送switching表示允许客户端向WebSocket协议转换。
这样,客户端和服务端就可以相互发送消息(message)了。
WebSockt传输原理
- 协议升级后,继续复用HTTP的底层Socket完成后续通讯
- Message底层会被切成多个Frame传输
- 编程时只需要操作Message,无需关心Frame
- 框架底层完成TCP网络I/O,WebSocket协议解析,开发者无需关心
WebSocke端点的4个生命周期事件
- 打开事件: 此事件发生在端点建立新连接时并且在任何其他事件发生之前。
- 消息事件: 此事件接收 WebSocket 对话中另一端发送的消息。它可以发生在 WebSocket 端点接收了打开事件之后并且在接收关闭事件关闭连接之前的任意时刻。
- 错误事件: 此事件在 WebSocket 连接或者端点发生错误时产生。
- 关闭事件: 此事件表示 WebSocket 端点的连接目前正在部分地关闭,它可以由参与连接的任意一个端点发出。
热门推荐
陈晓萍:搭一座跨文化的桥梁
探秘西安大雁塔:穿越千年的历史回响
临床医学专业大学排名及录取分数线一览表(2024参考)
无人系统:未来技术的自动化与智能化应用
如何在Chrome浏览器中使用网页截图功能
一文读懂YOLO系列:从YOLOv1到YOLOv11的技术演进
刘备:仁德之君与坚韧斗士的传奇人生
食物中毒的应对策略
腌制鸡蛋完全指南:如何腌制出既冒油又不太咸的美味鸡蛋
春季减脂必备!四种蔬菜助你轻松瘦身
AMD FSR实现原理分析
高能聚焦超声波治疗仪的春天来了
“蛇缠腰”了怎么办?带状疱疹的全面解析与防治指南
2025年研究生在职报考方式对比与分析(附表格)
成都最新规划出炉,三级城市公共中心体系究竟是怎样的?
超额收益的基石——资产配置
别再这样用加湿器了!小心损害健康
香烟邮寄到国外违法吗?深度解析与实用建议
DCDC电源PCB布局,PCB设计要点
助力心肌损伤早期识别,带你正确认识高敏肌钙蛋白检测
《鬼谷八荒》资质果获取攻略
炎炎夏日,如何选购一副合格的太阳镜?
张拭书法的深度分析
《不当哥哥了!》动漫介绍
正常人是怎么感染上乙肝的
四月“主角”树——流苏树
月薪8000元如何扣税?一文详解工资个税计算方法
每天12种、每周25种,这样吃最健康!
小白从零开始造一个机器人,要学习哪些知识呢
诸法因缘生,诸法因缘灭,何为“十二缘起说”?