From 70db787618218db64882ccd5a95125241f99d7af Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sun, 20 Nov 2022 10:34:19 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E4=BF=AE=E6=94=B9=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/static/javascript/taoyao.js | 5 ++ taoyao-signal/README.md | 72 ++++++++++++------- .../client/ClientRegisterListener.java | 12 ++-- 3 files changed, 58 insertions(+), 31 deletions(-) diff --git a/taoyao-server/src/main/resources/static/javascript/taoyao.js b/taoyao-server/src/main/resources/static/javascript/taoyao.js index 7a35516..f2a6ffc 100644 --- a/taoyao-server/src/main/resources/static/javascript/taoyao.js +++ b/taoyao-server/src/main/resources/static/javascript/taoyao.js @@ -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; } } }; diff --git a/taoyao-signal/README.md b/taoyao-signal/README.md index cc9e626..5f75b05 100644 --- a/taoyao-signal/README.md +++ b/taoyao-signal/README.md @@ -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) 释放资源、广播广播 diff --git a/taoyao-signal/src/main/java/com/acgist/taoyao/signal/listener/client/ClientRegisterListener.java b/taoyao-signal/src/main/java/com/acgist/taoyao/signal/listener/client/ClientRegisterListener.java index 53a22dc..192cfcb 100644 --- a/taoyao-signal/src/main/java/com/acgist/taoyao/signal/listener/client/ClientRegisterListener.java +++ b/taoyao-signal/src/main/java/com/acgist/taoyao/signal/listener/client/ClientRegisterListener.java @@ -29,25 +29,25 @@ public class ClientRegisterListener extends ApplicationListenerAdapter 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) + ); } }