Skip to content
This repository was archived by the owner on Oct 16, 2024. It is now read-only.

Commit 0336fd6

Browse files
committed
修改协议
1 parent 5e94ed3 commit 0336fd6

File tree

1 file changed

+40
-31
lines changed

1 file changed

+40
-31
lines changed

docs/protocol.md

+40-31
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,50 @@
44

55
## 一、包头
66

7-
### 固定头 4字节
7+
### 固定头 8字节
88

9-
| 标识 | 长度(位) | 说明 |
10-
|------|-------|-------|
11-
| 魔术字 | 24 | “rpc” |
12-
| 包含数据 | 1 | 0/1 |
13-
| 数据结束 | 1 | 0/1 |
14-
| 数据格式 | 2 | 0-3 |
15-
| 包类型 | 3 | 0-7 |
9+
| 标识 | 长度(位) | 说明 |
10+
|--------|-------|------------|
11+
| 魔术字 | 24 | “rpc” |
12+
| 包类型 | 4 | 0-15 |
13+
| 数据格式 | 4 | 0-15 |
14+
| 事务/流ID | 16 | 0-65535,自增 |
15+
| 包体数据长度 | 16 | 0-64KB |
1616

17-
### 扩展头 4字节
18-
19-
| 标识 | 长度(位) | 说明 |
20-
|------|-------|---------|
21-
| 序号 | 16 | 0-65535 |
22-
| 数据长度 | 16 | 0-64KB |
2317

2418
### 包类型
2519

26-
| 类型 | id | 扩展头 | 方向 | 说明 |
27-
|-------------|----|-----|----|------|
28-
| - | 0 | | | 无效 |
29-
| CONNECT | 1 | Y | 上行 | 连接 |
30-
| CONNECT_ACK | 2 | Y | 下行 | 连接响应 |
31-
| HEARTBEAT | 3 | | 上行 | 心跳 |
32-
| REQUEST | 4 | Y | 双向 | 请求 |
33-
| RESPONSE | 5 | Y | 双向 | 响应 |
34-
| STREAM | 6 | Y | 双向 | 数据流 |
35-
| DISCONNECT | 7 | Y/N | 双向 | 关闭连接 |
20+
| id | 类型 | 方向 | 说明 |
21+
|----|---------------|----|-------|
22+
| 0 | DISCONNECT | 双向 | 关闭连接 |
23+
| 1 | CONNECT | 上行 | 连接 |
24+
| 2 | CONNECT_ACK | 下行 | 连接响应 |
25+
| 3 | HEARTBEAT | 上行 | 心跳 |
26+
| 4 | REQUEST | 双向 | 请求 |
27+
| 5 | REQUEST_END | 双向 | 请求结束 |
28+
| 6 | RESPONSE | 双向 | 响应 |
29+
| 7 | RESPONSE_END | 双向 | 响应结束 |
30+
| 8 | STREAM | 双向 | 数据流 |
31+
| 9 | STREAM_END | 双向 | 数据流结束 |
32+
| 10 | PUBLISH | 双向 | 发布 |
33+
| 11 | PUBLISH_END | 双向 | 发布结束 |
34+
| 12 | PUBLISH_ACK | 双向 | 发布响应 |
35+
| 13 | SUBSCRIBE | 上行 | 订阅 |
36+
| 14 | SUBSCRIBE_ACK | 下行 | 订阅响应 |
37+
| 15 | UNSUBSCRIBE | 上行 | 取消订阅 |
3638

3739
### 数据格式
3840

39-
| 类型 | id | 说明 |
40-
|-------------|----|------------|
41-
| Binary | 0 | 默认二进制 |
42-
| JSON | 1 | |
43-
| YAML | 2 | |
44-
| MessagePack | 3 | |
41+
| id | 类型 | 说明 |
42+
|------|----------|------------|
43+
| 0 | binary | 默认二进制 |
44+
| 1 | json | 通用性强 |
45+
| 2 | xml | |
46+
| 3 | yaml | 较JSON省流,清晰 |
47+
| 4 | csv | |
48+
| 5 | msgpack | 省流,高性能 |
49+
| 6 | protobuf | |
50+
| 7-15 | custom | 自定义 |
4551

4652
数据格式建议使用默认的json格式,方便开发和调试,对于需要省流的场景,可以改进为msgpack或二进制
4753

@@ -68,7 +74,7 @@
6874
}
6975
```
7076

71-
### CONNACK 连接响应
77+
### CONNECT_ACK 连接响应
7278

7379
```json5
7480
{
@@ -87,6 +93,8 @@
8793

8894
流ID,客户端发起用奇数,服务端发起用偶数
8995

96+
### STREAM_END 数据流结束
97+
内容为二进制
9098

9199
### REQUEST 请求
92100

@@ -124,3 +132,4 @@
124132
- [设备](protocol_device.md)
125133
- [OTA升级](protocol_ota.md)
126134
- [文件系统](protocol_fs.md)
135+
- [摄像头](protocol_camera.md)

0 commit comments

Comments
 (0)