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 端点的连接目前正在部分地关闭,它可以由参与连接的任意一个端点发出。
热门推荐
渣男行为背后的“心机”:从心理学到进化论的深度解析
心理健康对个人品质和素养的重要影响
小李子与诺兰的神作:《盗梦空间》你看了几遍?
诺兰与小李子:从《盗梦空间》到职业生涯的相互成就
REMspace实现梦中聊天,《盗梦空间》照进现实?
《盗梦空间》:梦境与现实的哲学探险
《盗梦空间》幕后揭秘:诺兰如何打造梦境世界?
克里斯托弗·诺兰的心理学杰作:《盗梦空间》中的潜意识探索
《盗梦空间》:一场关于梦想与现实的智力冒险
《蛋仔派对》“圆月哥特”新联动来袭!
奥斯卡获奖导演诺兰的时间魔法:《星际穿越》深度解析
罗建军新房贴春联迎新春:传统习俗里的时代新篇
创意春联大作战:教你写出既传统又新潮的春联
赵孟頫教你写春联,过年红火又好看!
中国热科院发布芒果黑斑病防治指南,这些要点果农需掌握
豹纹芒果背后的真相:黑斑病大揭秘
芒果炭疽病:黑斑芒果还能吃吗?
揭秘中国领导人保镖:特种部队退役士官的守护之路
用这些庭院树装饰你的院子,美观又吉利
竹子在院子哪个方位好?种植竹子的最佳位置及技巧
7、8月份栽竹子可活不
南通狼山:千年传说中的神秘名山
南通狼山元旦游玩攻略:避开人潮看美景
南通狼山:秋日徒步+美食之旅
《盗梦空间》VS《黑客帝国》,谁更颠覆你的认知?
巧家到西昌自驾游全攻略:超详细路线图!
冬钓鲫鱼攻略:南北差异大揭秘!
秋冬野钓秘籍:让你成为钓鱼达人!
秋冬野钓攻略:进水口还是铧尖?
宁可食无肉,不可居无竹!40款最实用竹子造景案例分享