@lsby/net-core 0.7.24 → 0.7.25

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.
@@ -26,13 +26,20 @@ __export(global_exports, {
26
26
  module.exports = __toCommonJS(global_exports);
27
27
  var import_ts_global = require("@lsby/ts-global");
28
28
  var import_ts_log = require("@lsby/ts-log");
29
+ var import_ws = require("ws");
29
30
  var log = new import_ts_log.Log("@lsby:net-core");
30
31
  var WebSocket\u7BA1\u7406\u5668 = class {
31
32
  constructor(\u8FDE\u63A5\u8868) {
32
33
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
34
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
35
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
36
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
37
+ });
38
+ }, 3e4);
33
39
  }
34
40
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
35
41
  \u6E05\u7406\u51FD\u6570\u8868 = {};
42
+ \u5B9A\u65F6\u5668ID = null;
36
43
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
37
44
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
38
45
  }
@@ -57,6 +64,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
57
64
  delete this.\u8FDE\u63A5\u8868[id];
58
65
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
59
66
  }
67
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
68
+ let \u6E05\u7406\u6570\u91CF = 0;
69
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
70
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
71
+ this.\u5220\u9664\u8FDE\u63A5(id);
72
+ \u6E05\u7406\u6570\u91CF++;
73
+ }
74
+ }
75
+ if (\u6E05\u7406\u6570\u91CF > 0) {
76
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
77
+ }
78
+ }
60
79
  };
61
80
  var Global = new import_ts_global.GlobalService([
62
81
  new import_ts_global.GlobalItem("log", log),
@@ -7,12 +7,14 @@ declare class WebSocket管理器 {
7
7
  private 连接表;
8
8
  private log;
9
9
  private 清理函数表;
10
+ private 定时器ID;
10
11
  constructor(连接表: Record<id, WebSocket | null>);
11
12
  增加连接(id: id, ws句柄: WebSocket): void;
12
13
  查询连接存在(id: string): boolean;
13
14
  设置清理函数(id: string, 清理函数: () => Promise<void>): Promise<void>;
14
15
  获得句柄(id: id): Promise<WebSocket | null>;
15
16
  删除连接(id: string): void;
17
+ private 清理无效连接;
16
18
  }
17
19
  declare let Global: GlobalService<[GlobalItem<"log", Log>, GlobalItem<"WebSocket管理器", WebSocket管理器>]>;
18
20
 
@@ -312,13 +312,20 @@ var \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6 = class extends \u63D2\u4EF
312
312
  // src/global/global.ts
313
313
  var import_ts_global = require("@lsby/ts-global");
314
314
  var import_ts_log = require("@lsby/ts-log");
315
+ var import_ws = require("ws");
315
316
  var log = new import_ts_log.Log("@lsby:net-core");
316
317
  var WebSocket\u7BA1\u7406\u5668 = class {
317
318
  constructor(\u8FDE\u63A5\u8868) {
318
319
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
320
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
321
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
322
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
323
+ });
324
+ }, 3e4);
319
325
  }
320
326
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
321
327
  \u6E05\u7406\u51FD\u6570\u8868 = {};
328
+ \u5B9A\u65F6\u5668ID = null;
322
329
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
323
330
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
324
331
  }
@@ -343,6 +350,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
343
350
  delete this.\u8FDE\u63A5\u8868[id];
344
351
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
345
352
  }
353
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
354
+ let \u6E05\u7406\u6570\u91CF = 0;
355
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
356
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
357
+ this.\u5220\u9664\u8FDE\u63A5(id);
358
+ \u6E05\u7406\u6570\u91CF++;
359
+ }
360
+ }
361
+ if (\u6E05\u7406\u6570\u91CF > 0) {
362
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
363
+ }
364
+ }
346
365
  };
347
366
  var Global = new import_ts_global.GlobalService([
348
367
  new import_ts_global.GlobalItem("log", log),
@@ -480,7 +499,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
480
499
  };
481
500
 
482
501
  // src/plugin/extend/web-socket.ts
483
- var import_ws = require("ws");
502
+ var import_ws2 = require("ws");
484
503
  var import_zod4 = require("zod");
485
504
  var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
486
505
  log = Global.getItem("log");
@@ -514,7 +533,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
514
533
  await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
515
534
  return;
516
535
  }
517
- if (ws\u53E5\u67C4.readyState !== import_ws.WebSocket.OPEN) {
536
+ if (ws\u53E5\u67C4.readyState !== import_ws2.WebSocket.OPEN) {
518
537
  await log2.warn("WebSocket \u672A\u6253\u5F00\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F", { wsId });
519
538
  return;
520
539
  }
@@ -548,7 +567,7 @@ var import_express3 = __toESM(require("express"), 1);
548
567
  var import_promises = require("fs/promises");
549
568
  var import_node_os = require("os");
550
569
  var import_short_uuid = __toESM(require("short-uuid"), 1);
551
- var import_ws2 = require("ws");
570
+ var import_ws3 = require("ws");
552
571
  var \u670D\u52A1\u5668 = class {
553
572
  constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84, \u9ED8\u8BA4get\u6587\u4EF6\u8DEF\u5F84) {
554
573
  this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
@@ -640,7 +659,7 @@ var \u670D\u52A1\u5668 = class {
640
659
  await log2.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
641
660
  }
642
661
  async \u521D\u59CB\u5316WebSocket(server) {
643
- let wss = new import_ws2.WebSocketServer({ server });
662
+ let wss = new import_ws3.WebSocketServer({ server });
644
663
  let logBase = await this.log;
645
664
  wss.on("listening", async () => {
646
665
  let log2 = logBase;
@@ -27,13 +27,20 @@ module.exports = __toCommonJS(custom_data_exports);
27
27
  // src/global/global.ts
28
28
  var import_ts_global = require("@lsby/ts-global");
29
29
  var import_ts_log = require("@lsby/ts-log");
30
+ var import_ws = require("ws");
30
31
  var log = new import_ts_log.Log("@lsby:net-core");
31
32
  var WebSocket\u7BA1\u7406\u5668 = class {
32
33
  constructor(\u8FDE\u63A5\u8868) {
33
34
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
35
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
36
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
37
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
38
+ });
39
+ }, 3e4);
34
40
  }
35
41
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
36
42
  \u6E05\u7406\u51FD\u6570\u8868 = {};
43
+ \u5B9A\u65F6\u5668ID = null;
37
44
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
38
45
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
39
46
  }
@@ -58,6 +65,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
58
65
  delete this.\u8FDE\u63A5\u8868[id];
59
66
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
60
67
  }
68
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
69
+ let \u6E05\u7406\u6570\u91CF = 0;
70
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
71
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
72
+ this.\u5220\u9664\u8FDE\u63A5(id);
73
+ \u6E05\u7406\u6570\u91CF++;
74
+ }
75
+ }
76
+ if (\u6E05\u7406\u6570\u91CF > 0) {
77
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
78
+ }
79
+ }
61
80
  };
62
81
  var Global = new import_ts_global.GlobalService([
63
82
  new import_ts_global.GlobalItem("log", log),
@@ -39,13 +39,20 @@ var import_node_util = require("util");
39
39
  // src/global/global.ts
40
40
  var import_ts_global = require("@lsby/ts-global");
41
41
  var import_ts_log = require("@lsby/ts-log");
42
+ var import_ws = require("ws");
42
43
  var log = new import_ts_log.Log("@lsby:net-core");
43
44
  var WebSocket\u7BA1\u7406\u5668 = class {
44
45
  constructor(\u8FDE\u63A5\u8868) {
45
46
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
47
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
48
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
49
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
50
+ });
51
+ }, 3e4);
46
52
  }
47
53
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
48
54
  \u6E05\u7406\u51FD\u6570\u8868 = {};
55
+ \u5B9A\u65F6\u5668ID = null;
49
56
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
50
57
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
51
58
  }
@@ -70,6 +77,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
70
77
  delete this.\u8FDE\u63A5\u8868[id];
71
78
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
72
79
  }
80
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
81
+ let \u6E05\u7406\u6570\u91CF = 0;
82
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
83
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
84
+ this.\u5220\u9664\u8FDE\u63A5(id);
85
+ \u6E05\u7406\u6570\u91CF++;
86
+ }
87
+ }
88
+ if (\u6E05\u7406\u6570\u91CF > 0) {
89
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
90
+ }
91
+ }
73
92
  };
74
93
  var Global = new import_ts_global.GlobalService([
75
94
  new import_ts_global.GlobalItem("log", log),
@@ -23,19 +23,26 @@ __export(web_socket_exports, {
23
23
  WebSocket\u63D2\u4EF6: () => WebSocket\u63D2\u4EF6
24
24
  });
25
25
  module.exports = __toCommonJS(web_socket_exports);
26
- var import_ws = require("ws");
26
+ var import_ws2 = require("ws");
27
27
  var import_zod = require("zod");
28
28
 
29
29
  // src/global/global.ts
30
30
  var import_ts_global = require("@lsby/ts-global");
31
31
  var import_ts_log = require("@lsby/ts-log");
32
+ var import_ws = require("ws");
32
33
  var log = new import_ts_log.Log("@lsby:net-core");
33
34
  var WebSocket\u7BA1\u7406\u5668 = class {
34
35
  constructor(\u8FDE\u63A5\u8868) {
35
36
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
37
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
38
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
39
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
40
+ });
41
+ }, 3e4);
36
42
  }
37
43
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
38
44
  \u6E05\u7406\u51FD\u6570\u8868 = {};
45
+ \u5B9A\u65F6\u5668ID = null;
39
46
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
40
47
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
41
48
  }
@@ -60,6 +67,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
60
67
  delete this.\u8FDE\u63A5\u8868[id];
61
68
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
62
69
  }
70
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
71
+ let \u6E05\u7406\u6570\u91CF = 0;
72
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
73
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
74
+ this.\u5220\u9664\u8FDE\u63A5(id);
75
+ \u6E05\u7406\u6570\u91CF++;
76
+ }
77
+ }
78
+ if (\u6E05\u7406\u6570\u91CF > 0) {
79
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
80
+ }
81
+ }
63
82
  };
64
83
  var Global = new import_ts_global.GlobalService([
65
84
  new import_ts_global.GlobalItem("log", log),
@@ -113,7 +132,7 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
113
132
  await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
114
133
  return;
115
134
  }
116
- if (ws\u53E5\u67C4.readyState !== import_ws.WebSocket.OPEN) {
135
+ if (ws\u53E5\u67C4.readyState !== import_ws2.WebSocket.OPEN) {
117
136
  await log2.warn("WebSocket \u672A\u6253\u5F00\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F", { wsId });
118
137
  return;
119
138
  }
@@ -37,18 +37,25 @@ var import_express = __toESM(require("express"), 1);
37
37
  var import_promises = require("fs/promises");
38
38
  var import_node_os = require("os");
39
39
  var import_short_uuid = __toESM(require("short-uuid"), 1);
40
- var import_ws = require("ws");
40
+ var import_ws2 = require("ws");
41
41
 
42
42
  // src/global/global.ts
43
43
  var import_ts_global = require("@lsby/ts-global");
44
44
  var import_ts_log = require("@lsby/ts-log");
45
+ var import_ws = require("ws");
45
46
  var log = new import_ts_log.Log("@lsby:net-core");
46
47
  var WebSocket\u7BA1\u7406\u5668 = class {
47
48
  constructor(\u8FDE\u63A5\u8868) {
48
49
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
50
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
51
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
52
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
53
+ });
54
+ }, 3e4);
49
55
  }
50
56
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
51
57
  \u6E05\u7406\u51FD\u6570\u8868 = {};
58
+ \u5B9A\u65F6\u5668ID = null;
52
59
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
53
60
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
54
61
  }
@@ -73,6 +80,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
73
80
  delete this.\u8FDE\u63A5\u8868[id];
74
81
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
75
82
  }
83
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
84
+ let \u6E05\u7406\u6570\u91CF = 0;
85
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
86
+ if (ws === null || ws.readyState === import_ws.WebSocket.CLOSED) {
87
+ this.\u5220\u9664\u8FDE\u63A5(id);
88
+ \u6E05\u7406\u6570\u91CF++;
89
+ }
90
+ }
91
+ if (\u6E05\u7406\u6570\u91CF > 0) {
92
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
93
+ }
94
+ }
76
95
  };
77
96
  var Global = new import_ts_global.GlobalService([
78
97
  new import_ts_global.GlobalItem("log", log),
@@ -190,7 +209,7 @@ var \u670D\u52A1\u5668 = class {
190
209
  await log2.info("\u63A5\u53E3\u5B8C\u6574\u6267\u884C\u8017\u65F6: %o ms", \u603B\u8017\u65F6);
191
210
  }
192
211
  async \u521D\u59CB\u5316WebSocket(server) {
193
- let wss = new import_ws.WebSocketServer({ server });
212
+ let wss = new import_ws2.WebSocketServer({ server });
194
213
  let logBase = await this.log;
195
214
  wss.on("listening", async () => {
196
215
  let log2 = logBase;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-43GZE5YL.js";
4
4
  import {
5
5
  Global
6
- } from "./chunk-BFL3HOQE.js";
6
+ } from "./chunk-VTVWF3IE.js";
7
7
 
8
8
  // src/plugin/extend/web-socket.ts
9
9
  import { WebSocket } from "ws";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Global
3
- } from "./chunk-BFL3HOQE.js";
3
+ } from "./chunk-VTVWF3IE.js";
4
4
  import {
5
5
  递归截断字符串
6
6
  } from "./chunk-ZIVQ3WZA.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-43GZE5YL.js";
4
4
  import {
5
5
  Global
6
- } from "./chunk-BFL3HOQE.js";
6
+ } from "./chunk-VTVWF3IE.js";
7
7
 
8
8
  // src/plugin/extend/urlencoded.ts
9
9
  import express from "express";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-43GZE5YL.js";
4
4
  import {
5
5
  Global
6
- } from "./chunk-BFL3HOQE.js";
6
+ } from "./chunk-VTVWF3IE.js";
7
7
 
8
8
  // src/plugin/extend/custom-data.ts
9
9
  var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
@@ -1,13 +1,20 @@
1
1
  // src/global/global.ts
2
2
  import { GlobalItem, GlobalService } from "@lsby/ts-global";
3
3
  import { Log } from "@lsby/ts-log";
4
+ import { WebSocket } from "ws";
4
5
  var log = new Log("@lsby:net-core");
5
6
  var WebSocket\u7BA1\u7406\u5668 = class {
6
7
  constructor(\u8FDE\u63A5\u8868) {
7
8
  this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
9
+ this.\u5B9A\u65F6\u5668ID = setInterval(() => {
10
+ this.\u6E05\u7406\u65E0\u6548\u8FDE\u63A5().catch((err) => {
11
+ this.log.errorSync(`\u6E05\u7406\u65E0\u6548\u8FDE\u63A5\u5931\u8D25: ${err}`);
12
+ });
13
+ }, 3e4);
8
14
  }
9
15
  log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
10
16
  \u6E05\u7406\u51FD\u6570\u8868 = {};
17
+ \u5B9A\u65F6\u5668ID = null;
11
18
  \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
12
19
  this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
13
20
  }
@@ -32,6 +39,18 @@ var WebSocket\u7BA1\u7406\u5668 = class {
32
39
  delete this.\u8FDE\u63A5\u8868[id];
33
40
  delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
34
41
  }
42
+ async \u6E05\u7406\u65E0\u6548\u8FDE\u63A5() {
43
+ let \u6E05\u7406\u6570\u91CF = 0;
44
+ for (let [id, ws] of Object.entries(this.\u8FDE\u63A5\u8868)) {
45
+ if (ws === null || ws.readyState === WebSocket.CLOSED) {
46
+ this.\u5220\u9664\u8FDE\u63A5(id);
47
+ \u6E05\u7406\u6570\u91CF++;
48
+ }
49
+ }
50
+ if (\u6E05\u7406\u6570\u91CF > 0) {
51
+ this.log.infoSync(`\u6E05\u7406\u4E86 ${\u6E05\u7406\u6570\u91CF} \u4E2A\u65E0\u6548 WebSocket \u8FDE\u63A5`);
52
+ }
53
+ }
35
54
  };
36
55
  var Global = new GlobalService([
37
56
  new GlobalItem("log", log),
@@ -7,12 +7,14 @@ declare class WebSocket管理器 {
7
7
  private 连接表;
8
8
  private log;
9
9
  private 清理函数表;
10
+ private 定时器ID;
10
11
  constructor(连接表: Record<id, WebSocket | null>);
11
12
  增加连接(id: id, ws句柄: WebSocket): void;
12
13
  查询连接存在(id: string): boolean;
13
14
  设置清理函数(id: string, 清理函数: () => Promise<void>): Promise<void>;
14
15
  获得句柄(id: id): Promise<WebSocket | null>;
15
16
  删除连接(id: string): void;
17
+ private 清理无效连接;
16
18
  }
17
19
  declare let Global: GlobalService<[GlobalItem<"log", Log>, GlobalItem<"WebSocket管理器", WebSocket管理器>]>;
18
20
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Global,
3
3
  WebSocket管理器
4
- } from "../chunk-BFL3HOQE.js";
4
+ } from "../chunk-VTVWF3IE.js";
5
5
  export {
6
6
  Global,
7
7
  WebSocket\u7BA1\u7406\u5668
package/dist/esm/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  WebSocket插件
3
- } from "./chunk-5JL432N6.js";
3
+ } from "./chunk-CGLDW3PN.js";
4
4
  import {
5
5
  中文路径支持插件
6
6
  } from "./chunk-4BFNDHRC.js";
7
7
  import {
8
8
  自定义数据插件
9
- } from "./chunk-VFOG5LBT.js";
9
+ } from "./chunk-VNRSKOGV.js";
10
10
  import {
11
11
  JSON解析插件
12
12
  } from "./chunk-GMYXAJS3.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-RRUUWHTF.js";
22
22
  import {
23
23
  表单解析插件
24
- } from "./chunk-YITJBWMM.js";
24
+ } from "./chunk-SWPAN4RD.js";
25
25
  import {
26
26
  常用延时直接形式接口封装
27
27
  } from "./chunk-JXTWTY2S.js";
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-43GZE5YL.js";
34
34
  import {
35
35
  服务器
36
- } from "./chunk-FDR5G37J.js";
36
+ } from "./chunk-GEQKQOFV.js";
37
37
  import {
38
38
  EXPORT_TYPE
39
39
  } from "./chunk-ZF7EC2OM.js";
@@ -49,7 +49,7 @@ import {
49
49
  接口结果返回器,
50
50
  自定义返回器
51
51
  } from "./chunk-XBAKTT6S.js";
52
- import "./chunk-BFL3HOQE.js";
52
+ import "./chunk-VTVWF3IE.js";
53
53
  import {
54
54
  构造元组,
55
55
  构造对象
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  自定义数据插件
3
- } from "../../chunk-VFOG5LBT.js";
3
+ } from "../../chunk-VNRSKOGV.js";
4
4
  import "../../chunk-43GZE5YL.js";
5
- import "../../chunk-BFL3HOQE.js";
5
+ import "../../chunk-VTVWF3IE.js";
6
6
  export {
7
7
  \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6
8
8
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  表单解析插件
3
- } from "../../chunk-YITJBWMM.js";
3
+ } from "../../chunk-SWPAN4RD.js";
4
4
  import "../../chunk-43GZE5YL.js";
5
- import "../../chunk-BFL3HOQE.js";
5
+ import "../../chunk-VTVWF3IE.js";
6
6
  export {
7
7
  \u8868\u5355\u89E3\u6790\u63D2\u4EF6
8
8
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  WebSocket插件
3
- } from "../../chunk-5JL432N6.js";
3
+ } from "../../chunk-CGLDW3PN.js";
4
4
  import "../../chunk-43GZE5YL.js";
5
- import "../../chunk-BFL3HOQE.js";
5
+ import "../../chunk-VTVWF3IE.js";
6
6
  export {
7
7
  WebSocket\u63D2\u4EF6
8
8
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  服务器
3
- } from "../chunk-FDR5G37J.js";
4
- import "../chunk-BFL3HOQE.js";
3
+ } from "../chunk-GEQKQOFV.js";
4
+ import "../chunk-VTVWF3IE.js";
5
5
  import "../chunk-ZIVQ3WZA.js";
6
6
  export {
7
7
  \u670D\u52A1\u5668
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/net-core",
3
- "version": "0.7.24",
3
+ "version": "0.7.25",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",