Skip to content

Commit b2b9f9f

Browse files
author
archurtan
committed
增加局域网探测文档
Change-Id: I8bc85a96082f352466ec748c094de0899356735d
1 parent 98a0c20 commit b2b9f9f

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
## 局域网探测
2+
3+
### 探测流程
4+
待补充
5+
6+
### 探测消息格式
7+
|名称 | 位宽 |
8+
| ------------ | ------------ |
9+
|固定消息头 | 4Byte |
10+
| payload | 长度不固定 |
11+
12+
注:探测消息的最大长度不能超过1000Byte;
13+
14+
### 消息头
15+
| 含义 | 取值 | 位宽 |
16+
| ------------ | ------------ | ------------ |
17+
| type | 1:探测消息;2:探测响应消息;其他保留 | 8bit |
18+
| 版本号 | 高4bit:主版本号;低4bit:子版本号 | 8bit |
19+
| 长度 | payload长度,不包含消息头| 16bit|
20+
21+
**注意**
22+
网络上传输采用大端字节序,消息头的发送顺序如下:
23+
24+
| 第0Byte | 第1Byte | 第2Byte | 第3Byte |
25+
| ------------ | ------------ | ------------ | ------------ |
26+
| type | 版本号 | 长度低8位 | 长度高8位 |
27+
28+
29+
### payload探测消息格式
30+
```
31+
{
32+
"method": "probe",
33+
"clientToken": "xxxx-xxxx-xxxx-xxxx-xxxxxxxx",
34+
"timestamp": 1606963491,
35+
"timeoutMs": 5000,
36+
"params": {
37+
"productId": "XXXXXXX",
38+
"deviceName": "dev_1,dev_2 ..."
39+
}
40+
}
41+
```
42+
参数说明:
43+
method:消息类型
44+
clientToken:消息标识
45+
timestamp:消息发送的时间
46+
timeoutMs:消息超时时间
47+
productId:搜索设备的产品ID,用于区分不同厂商的设备,可以设置为三元组的ProductId,也可以由用户自定义设置;
48+
deviceName:搜索设备的名称,如有多个设备则用','隔开;如果没有该字段标表示搜索当前产品下的所有设备,该字段只需要保证唯一性即可,不一定必须使用三元组信息中的deviceName;
49+
50+
其中,productId和deviceName只能由数字,字母和下划线组成;
51+
52+
53+
### payload响应消息格式
54+
```
55+
{
56+
"method": "probeMatch",
57+
"clientToken": "xxxx-xxxx-xxxx-xxxx-xxxxxxxx",
58+
"timestamp": 1606963492,
59+
"params": {
60+
"deviceName": "dev_1"
61+
"address": "xxx.xxx.x.x",
62+
"port": xx
63+
},
64+
"code": 0,
65+
"status": ""
66+
}
67+
```
68+
参数说明:
69+
method:消息类型
70+
clientToken:消息标识,与发送消息一致
71+
timestamp:消息发送的时间
72+
deviceName:设备的名称
73+
address:设备的IP地址
74+
port:设备的端口号
75+
code: 状态码,一般是0
76+
status:扩展使用

0 commit comments

Comments
 (0)