[*] 修改描述

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

View File

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

View File

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