接收二进制数据_详解前端websocket原理之数据传输协议

本文深入探讨WebSocket的收发数据原理,包括数据结构、二进制传输、封装与解析过程,以及服务器发送和接收数据的细节。通过理解WebSocket的数据传输协议,有助于更深入地掌握其工作方式。
摘要由CSDN通过智能技术生成

前言

上一篇文章我们初步搭建了一个websocket服务器,但是还不能发送和接收数据,这篇文章我们聊一聊它是如何收发数据的。websocket支持文本和二进制的传输,内部是如何接收和发送数据的对使用者来说是不可见的,虽然这不影响使用,但是为了更加深入了解websocket的原理,我们还是有必要一探究竟!

我们首先来看一张数据结构的二进制图,如下:

b1b04de035f7daf5f74e86c857444719.png

图1

如图1,乍一看可能看不懂,我先来解释一下:

  • 图1最上面表示的是二进制的位(bit),从左到右一共32位,虚线框矩形代表占据了多少位。图中的内容是一行一行显示的(图中共6行),实际上它们应该都处在一行,只是因为这张图太窄了,一行最大只能表示32位,所以才折行了;
  • FIN、RSV1、RSV2、RSV3各占一位,opcode占4位,mask占一位、payload len占7位,如果payloadlen=126,Extended payload length占16位,如果payloadlen=127,Extended payload length占64位,如果mask=1,masking-key占32位,后面再存放payload Dataÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值