stick:用于TCP网络传输的“粘贴数据包”解决方案

时间:2024-03-01 12:41:23
【文件属性】:

文件名称:stick:用于TCP网络传输的“粘贴数据包”解决方案

文件大小:136KB

文件格式:ZIP

更新时间:2024-03-01 12:41:23

nodejs socket package node tcp

:rainbow: 介绍 我们就是所谓的拆包,把流解析为一段段我们所需要的数据。本方案为Node.Js实现的一个处理方案。 对要发送的数据按协议编码,把data划分为header + body两部分,标头默认固定长度( 2个字节), header描述的是body数据的长度。由于header定长,因此可以通过header ,解析出body的内容。 默认header我们使用2 Byte的存储空间,即Int16最大表示的body长度为32767 ,也就是16M 。 如上图,我们看先取出数据流的前两位,读取到内容0x00, 0x02转化为整数的长度是2,再读取出body第3,4位0x61, 0x62 。 链接 :rainbow: :eyes: :smiling_face_with_smiling_eyes: :grinning_cat_with_smiling_eyes: :globe_showing_Europe-Africa: 其他语言 现实场景中客户端是其他语言编写的某种C语言运行在单片机上,这时候大家可以基原理图自行打包,规则如下: data = header(b


【文件预览】:
stick-master
----index.js(270B)
----docs()
--------principle.drawio(11KB)
--------GettingStarted.md(1KB)
--------API.md(1022B)
----README_EN.md(8KB)
----package.json(631B)
----test()
--------test.MsgCenter.js(344B)
--------test.stick.js(2KB)
--------pack.test.js(1KB)
----assets()
--------README()
----.eslintrc.js(669B)
----examples()
--------tsSample()
--------tcpSample()
--------readme.md(296B)
--------tcpMsg()
--------sample()
--------tcpBuffer()
----LICENSE.md(1KB)
----.gitignore(18B)
----typings()
--------stick.d.ts(294B)
----lib()
--------core.js(11KB)
--------msgCenter.js(1KB)
----.npmrc(36B)
----README.md(2KB)
----publish.sh(111B)

网友评论