[*] 修改描述

This commit is contained in:
acgist
2022-11-20 10:34:19 +08:00
parent b1c7bf2601
commit 70db787618
3 changed files with 58 additions and 31 deletions

View File

@@ -71,6 +71,8 @@ const signalProtocol = {
},
/** 平台信令 */
platform: {
/** 异常 */
error: 1999
},
/** 当前索引 */
index: 100000,
@@ -274,6 +276,9 @@ const signalChannel = {
case signalProtocol.client.heartbeat:
console.debug('心跳');
break;
case signalProtocol.platform.error:
console.error('信令发生错误', data);
break;
}
}
};

View File

@@ -33,23 +33,26 @@
#### 消息主体
```
# 请求
{}
# 广播
{}
```
#### 消息流程:终端->服务端+)终端
* 全员广播关闭服务信令
* 关闭信令服务
全员广播关闭服务信令,然后关闭信令服务。
### 执行命令信令1001
#### 消息主体
```
# 请求
{
"script": "命令"
}
----
# 响应
{
"result": "结果"
}
@@ -57,9 +60,11 @@
#### 消息流程:终端->服务端->终端
在服务端执行终端命令并返回结果
### 异常信令1999
服务端->终端:提示异常信息
#### 消息主体
```
{}
@@ -67,8 +72,25 @@
## 终端信令2000~2999
### 终端信息
### 终端注册信令2000
#### 消息主体
```
# 终端信息
# 请求
{
"username": "信令授权用户",
"password": "信令授权密码",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
}
# 响应
{}
# 广播
{
"sn": "终端标识",
"ip": "IP地址",
@@ -78,32 +100,30 @@
}
```
### 终端注册信令2000
#### 消息流程:终端->服务端-)终端
终端->服务端-)终端:注册成功后服务端响应同时下发配置信息,广播终端上线事件
```
{
"username": "信令授权用户",
"password": "信令授权密码",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
}
```
终端注册成功响应同时[下发配置信](#下发配置信令2004),并且广播[终端上线信令](#终端上线信令2002)
### 终端关闭信令2001
终端->服务端:广播终端下线事件,同时释放所有资源(信令通道、媒体通道等等)
#### 消息主体
```
# 请求
{}
# 广播
{
"sn": "终端标识"
}
```
#### 消息流程:终端-)服务端
广播[终端下线信令](#终端下线信令2003),同时释放所有相关资源(信令通道、媒体通道等等)
### 终端上线信令2002
服务端->终端:参考[终端注册信令](#注册信令)
服务端->终端:参考[终端注册信令](#终端注册信令)
```
{
@@ -197,18 +217,20 @@
## 会议信令4000~4999
```
创建会议 -> 邀请终端|踢出终端|加入会议|离开会议 -> 关闭会议
```
### 创建会议信令4000
终端->服务端
#### 消息主体
```
{}
----
{
"id": "会议标识"
}
```
#### 消息流程:终端->服务端+)终端
### 关闭会议信令4001
释放资源、广播广播

View File

@@ -29,25 +29,25 @@ public class ClientRegisterListener extends ApplicationListenerAdapter<ClientReg
@Async
@Override
public void onApplicationEvent(ClientRegisterEvent event) {
final Map<?, ?> body = event.getBody();
final ClientSession session = event.getSession();
if (!session.authorized()) {
return;
}
// 下发配置
session.push(this.configProtocol.build());
// 广播上线事件
this.clientSessionManager.broadcast(
session.sn(),
this.onlineProtocol.build(Map.of("sn", session.sn()))
);
// 修改终端状态
final Map<?, ?> body = event.getBody();
final ClientSessionStatus status = session.status();
status.setSn(session.sn());
status.setIp((String) body.get("ip"));
status.setMac((String) body.get("mac"));
status.setSignal((Integer) body.get("signal"));
status.setBattery((Integer) body.get("battery"));
// 广播上线事件
this.clientSessionManager.broadcast(
session.sn(),
this.onlineProtocol.build(status)
);
}
}