knight-server 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,8 @@ import { Server } from "../../Server";
7
7
  export declare abstract class WebSocketRouter extends AbstractRouter {
8
8
  /** 客户端池 */
9
9
  private readonly clients;
10
+ /** 检测计时器 */
11
+ private chectTimer;
10
12
  /** 构造函数 */
11
13
  constructor(server: Server, path: string);
12
14
  /** 逻辑处理 */
@@ -21,6 +23,10 @@ export declare abstract class WebSocketRouter extends AbstractRouter {
21
23
  OnGetClient(key: string): WebSocketClient;
22
24
  /** 获取所有客户端 */
23
25
  OnGetClients(): Array<WebSocketClient>;
26
+ /** 启动检测计时器 */
27
+ private OnStartCheckTimer;
28
+ /** 停止检测计时器 */
29
+ private OnStopCheckTimer;
24
30
  /** 鉴权处理 */
25
31
  abstract OnCheck(server: Server, url: URL): Promise<boolean>;
26
32
  /** 连接 */
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketRouter.d.ts","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,wBAAwB;AACxB,8BAAsB,eAAgB,SAAQ,cAAc;IAExD,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAM/C,WAAW;IACE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxF,YAAY;IACZ,OAAO,CAAC,WAAW;IAKnB,YAAY;IACL,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK3C,cAAc;IACP,iBAAiB,IAAI,IAAI;IAKhC,YAAY;IACL,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAIhD,cAAc;IACP,YAAY,IAAI,KAAK,CAAC,eAAe,CAAC;IAK7C,WAAW;aACK,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IACnE,SAAS;aACO,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACjF,SAAS;aACO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACpF,SAAS;aACO,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,SAAS,IAAI,IAAI;CAM3B"}
1
+ {"version":3,"file":"WebSocketRouter.d.ts","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,wBAAwB;AACxB,8BAAsB,eAAgB,SAAQ,cAAc;IAExD,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,YAAY;IACZ,OAAO,CAAC,UAAU,CAAiB;IAEnC,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAO/C,WAAW;IACE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxF,YAAY;IACZ,OAAO,CAAC,WAAW;IAKnB,YAAY;IACL,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK3C,cAAc;IACP,iBAAiB,IAAI,IAAI;IAKhC,YAAY;IACL,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAIhD,cAAc;IACP,YAAY,IAAI,KAAK,CAAC,eAAe,CAAC;IAI7C,cAAc;IACd,OAAO,CAAC,iBAAiB;IAQzB,cAAc;IACd,OAAO,CAAC,gBAAgB;IAKxB,WAAW;aACK,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IACnE,SAAS;aACO,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACjF,SAAS;aACO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACpF,SAAS;aACO,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,SAAS,IAAI,IAAI;CAO3B"}
@@ -10,6 +10,7 @@ class WebSocketRouter extends base_1.AbstractRouter {
10
10
  constructor(server, path) {
11
11
  super(server, path);
12
12
  this.clients = new Map();
13
+ this.OnStartCheckTimer();
13
14
  }
14
15
  /** 逻辑处理 */
15
16
  async OnHandler(websocket, request) {
@@ -62,9 +63,26 @@ class WebSocketRouter extends base_1.AbstractRouter {
62
63
  OnGetClients() {
63
64
  return Array.from(this.clients.values());
64
65
  }
66
+ /** 启动检测计时器 */
67
+ OnStartCheckTimer() {
68
+ this.chectTimer = setInterval(() => {
69
+ if (0 < this.clients.size) {
70
+ return;
71
+ }
72
+ this.server.websocket.OnDegistRouter(this.path);
73
+ }, 90000);
74
+ }
75
+ /** 停止检测计时器 */
76
+ OnStopCheckTimer() {
77
+ if (null == this.chectTimer) {
78
+ return;
79
+ }
80
+ clearInterval(this.chectTimer);
81
+ }
65
82
  OnDestroy() {
66
83
  super.OnDestroy();
67
84
  this.OnRemoveAllClient();
85
+ this.OnStopCheckTimer();
68
86
  }
69
87
  }
70
88
  exports.WebSocketRouter = WebSocketRouter;
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketRouter.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketRouter.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":";;;AAEA,qCAA4C;AAC5C,uDAAoD;AACpD,2CAA8D;AAG9D,wBAAwB;AACxB,MAAsB,eAAgB,SAAQ,qBAAc;IAOxD,WAAW;IACX,YAAmB,MAAc,EAAE,IAAY;QAE3C,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW;IACJ,KAAK,CAAC,SAAS,CAAC,SAAuB,EAAE,OAAwB;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACrD,SAAS;QACT,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACzB,CAAC;YACG,SAAS,CAAC,KAAK,CAAC,wBAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;YACnC,OAAO;QACX,CAAC;QACD,OAAO;QACP,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EACV,CAAC;YACG,SAAS,CAAC,KAAK,CAAC,wBAAc,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,QAAQ;QACR,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,YAAY;IACJ,WAAW,CAAC,GAAW,EAAE,GAAQ,EAAE,SAAuB,EAAE,OAAwB;QAExF,MAAM,MAAM,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,YAAY;IACL,cAAc,CAAC,GAAW;QAE7B,IAAI,uBAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,cAAc;IACP,iBAAiB;QAEpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,YAAY;IACL,WAAW,CAAC,GAAW;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,cAAc;IACP,YAAY;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,cAAc;IACN,iBAAiB;QAErB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAE/B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IACD,cAAc;IACN,gBAAgB;QAEpB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IASM,SAAS;QAEZ,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;CAEJ;AAlGD,0CAkGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knight-server",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Knight-server服务端架构",
5
5
  "main": "index.js",
6
6
  "scripts": {