通讯包协议
| 名称 | 消息头 | 类型 | 参数 | 内容长度 | 内容 | 校验 |
| 字节数: | 2 | 1 | 16 | 2 | N | 2 |
| 示例: | AABB | 01 | 00000000000000000000000000000000 | 01A2 | …… | 9DA6 |
1、消息头Head(2个字节):
固定两个字节:AA BB
2、类型Type(1个字节):
消息类型,01 命令消息
3、参数Param(16个字节):
参数内容根据消息类型定义,如文件传输消息可以用来指定文件块数编号,远程消息可以用来指定鼠标或键盘或xy坐标,而不用再进行内容封装
4、内容长度Length(2个字节):
用来标识消息内容的长度,第1个字节表示高位,第2个字节表示低位,如:01A2表示:01*256+10*16+2=418
5、内容Content(Length个字节)
消息内容和消息类型有关,目前定义了:
01-命令消息,表示消息内容为命令json字符串
02-如远程控制消息
03-文件传输消息 等等
6、校验Verification(2个字节)
从消息头ABAB即开始CRC校验
具体算法以及测试请参考网站:http://www.ip33.com/crc.html
参数模型选择:CRC-16/XMODEM x16+x12+x5+1
示例报文:
AABB01000000000000000000000000000000000000617B2254797065223A22416C657274222C2254696D65223A22323031392D30392D33305431363A34333A31342E313233333939
2B30383A3030222C22536E223A382C22416C657274223A22E7A381E79B98E7A9BAE997B4E4B88DE8B6B3313025227D2A84
报文长度: 000061=97
报文内容为:{"Type":"Alert","Time":"2019-09-30T16:44:53.1875614+08:00","Sn":8,"Alert":"磁盘空间不足10%"}
校验码: 2A84