stick
release20200703
我們使用TCP 通信的時候,由於TCP是面向流的,因此需要對流進行解析。也就是所謂的拆包,把流解析為一段段我們所需要的數據。本方案為Node.Js 實現的一個處理方案。
對要發送的數據按協議編碼,把數據data分為header + body兩部分,header 默認固定長度( 2 byte ), header描述的是body數據的長度。由於header定長,因此可以通過header ,解析出body的內容。
默認header我們使用2 Byte的存儲空間,即Int16最大表示的body長度為32767 ,也就是16M 。

如上圖,我們看先取出數據流的前兩位,讀取到內容0x00, 0x02轉化為整數的長度是2,再讀取出body第3、4位0x61, 0x62 。
Install
Getting Started
API Reference
Examples
Solve the problem of "sticking packets" for TCP network transmission (Classic)
現實場景中客戶端是其他語言編寫的比如C語言運行在單片機上,這時候大家可以基原理圖自行打包,規則所示:
data = header(body.length) + bodyMIT