@feng3d/ctc 0.0.20 → 0.1.0

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.
Files changed (56) hide show
  1. package/README.md +82 -106
  2. package/dist/cli.d.ts +13 -12
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +188 -966
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +18 -51
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +42 -180
  9. package/dist/config.js.map +1 -1
  10. package/dist/controller.d.ts +47 -5
  11. package/dist/controller.d.ts.map +1 -1
  12. package/dist/controller.js +10 -23
  13. package/dist/controller.js.map +1 -1
  14. package/dist/handlers/unified-handler.d.ts.map +1 -1
  15. package/dist/handlers/unified-handler.js +3 -1
  16. package/dist/handlers/unified-handler.js.map +1 -1
  17. package/dist/index.d.ts +7 -5
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -4
  20. package/dist/index.js.map +1 -1
  21. package/dist/proxy-manager.d.ts +32 -32
  22. package/dist/proxy-manager.d.ts.map +1 -1
  23. package/dist/proxy-manager.js +81 -111
  24. package/dist/proxy-manager.js.map +1 -1
  25. package/package.json +5 -10
  26. package/admin-ui/dist/app.js +0 -29
  27. package/admin-ui/dist/index.html +0 -222
  28. package/admin-ui/dist/style.css +0 -1
  29. package/dist/admin-server.d.ts +0 -149
  30. package/dist/admin-server.d.ts.map +0 -1
  31. package/dist/admin-server.js +0 -426
  32. package/dist/admin-server.js.map +0 -1
  33. package/dist/app.d.ts +0 -17
  34. package/dist/app.d.ts.map +0 -1
  35. package/dist/app.js +0 -97
  36. package/dist/app.js.map +0 -1
  37. package/dist/daemon-entry.d.ts +0 -8
  38. package/dist/daemon-entry.d.ts.map +0 -1
  39. package/dist/daemon-entry.js +0 -15
  40. package/dist/daemon-entry.js.map +0 -1
  41. package/dist/daemon.d.ts +0 -32
  42. package/dist/daemon.d.ts.map +0 -1
  43. package/dist/daemon.js +0 -370
  44. package/dist/daemon.js.map +0 -1
  45. package/dist/forward-proxy.d.ts +0 -100
  46. package/dist/forward-proxy.d.ts.map +0 -1
  47. package/dist/forward-proxy.js +0 -407
  48. package/dist/forward-proxy.js.map +0 -1
  49. package/dist/ipc-handler.d.ts +0 -124
  50. package/dist/ipc-handler.d.ts.map +0 -1
  51. package/dist/ipc-handler.js +0 -305
  52. package/dist/ipc-handler.js.map +0 -1
  53. package/dist/process-utils.d.ts +0 -31
  54. package/dist/process-utils.d.ts.map +0 -1
  55. package/dist/process-utils.js +0 -87
  56. package/dist/process-utils.js.map +0 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -3,60 +3,27 @@
3
3
  *
4
4
  * 客户端配置管理模块。
5
5
  *
6
- * 负责从配置文件、命令行参数和默认值中加载、合并和验证客户端配置。
7
- * 配置优先级:命令行参数 > 配置文件 > 默认值。
8
- * 默认配置文件路径为用户主目录下的 `.chuantou/client.json`。
6
+ * 负责读写客户端配置文件 `~/.chuantou/config.json`。
7
+ * 配置由 `ctc set` 命令写入,由默认映射命令读取。
9
8
  */
10
- import { ClientConfig, ProxyConfig } from '@feng3d/chuantou-shared';
9
+ import { ClientConfig } from '@feng3d/chuantou-shared';
11
10
  /**
12
- * 客户端配置类。
11
+ * 配置文件路径:~/.chuantou/config.json
13
12
  *
14
- * 实现 {@link ClientConfig} 接口,封装了客户端运行所需的全部配置项,
15
- * 提供配置加载和验证功能。
13
+ * 运行时动态解析(基于当前 HOME),便于测试时覆盖 HOME 环境变量。
14
+ */
15
+ export declare function getConfigFile(): string;
16
+ /**
17
+ * 从配置文件加载客户端配置。
18
+ *
19
+ * @returns 客户端配置对象
20
+ * @throws {Error} 配置文件不存在时抛出错误(提示用户先运行 set)
21
+ */
22
+ export declare function loadConfig(): Promise<ClientConfig>;
23
+ /**
24
+ * 保存客户端配置到配置文件。
16
25
  *
17
- * @example
18
- * ```typescript
19
- * const config = await Config.load();
20
- * config.validate();
21
- * console.log(config.serverUrl);
22
- * ```
26
+ * @param config - 客户端配置对象
23
27
  */
24
- export declare class Config implements ClientConfig {
25
- /** 服务器 WebSocket 连接地址,如 `ws://localhost:9000` */
26
- serverUrl: string;
27
- /** 客户端认证令牌,用于与服务器进行身份验证 */
28
- token: string;
29
- /** 断线重连间隔时间(毫秒) */
30
- reconnectInterval: number;
31
- /** 最大重连尝试次数,超过后停止重连 */
32
- maxReconnectAttempts: number;
33
- /** 代理隧道配置列表 */
34
- proxies: ProxyConfig[];
35
- /**
36
- * 创建配置实例。
37
- *
38
- * @param data - 客户端配置数据对象
39
- */
40
- constructor(data: ClientConfig);
41
- /**
42
- * 从配置文件和命令行参数中加载配置并创建实例。
43
- *
44
- * 优先使用命令行参数中的值覆盖配置文件中的值。
45
- *
46
- * @returns 加载完成的 Config 实例
47
- */
48
- static load(): Promise<Config>;
49
- /**
50
- * 验证配置的合法性。
51
- *
52
- * 检查以下内容:
53
- * - 服务器地址不为空且以 `ws://` 或 `wss://` 开头
54
- * - 认证令牌不为空
55
- * - 至少配置了一个代理
56
- * - 每个代理的端口号合法
57
- *
58
- * @throws {Error} 当配置项不合法时抛出错误,包含具体的错误描述
59
- */
60
- validate(): void;
61
- }
28
+ export declare function saveConfig(config: ClientConfig): Promise<void>;
62
29
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAqIpF;;;;;;;;;;;;GAYG;AACH,qBAAa,MAAO,YAAW,YAAY;IACzC,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAElB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,mBAAmB;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,uBAAuB;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAE7B,eAAe;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IAQ9B;;;;;;OAMG;WACU,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAKpC;;;;;;;;;;OAUG;IACH,QAAQ,IAAI,IAAI;CAqBjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAkBxD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpE"}
package/dist/config.js CHANGED
@@ -3,208 +3,70 @@
3
3
  *
4
4
  * 客户端配置管理模块。
5
5
  *
6
- * 负责从配置文件、命令行参数和默认值中加载、合并和验证客户端配置。
7
- * 配置优先级:命令行参数 > 配置文件 > 默认值。
8
- * 默认配置文件路径为用户主目录下的 `.chuantou/client.json`。
6
+ * 负责读写客户端配置文件 `~/.chuantou/config.json`。
7
+ * 配置由 `ctc set` 命令写入,由默认映射命令读取。
9
8
  */
10
9
  import { promises as fs } from 'fs';
11
- import * as os from 'os';
12
- import * as path from 'path';
13
- import { DEFAULT_CONFIG } from '@feng3d/chuantou-shared';
10
+ import { homedir } from 'os';
11
+ import { join, dirname } from 'path';
14
12
  /**
15
- * 获取配置目录路径。
13
+ * 配置文件路径:~/.chuantou/config.json
16
14
  *
17
- * @returns 用户主目录下的 `.chuantou` 目录绝对路径
15
+ * 运行时动态解析(基于当前 HOME),便于测试时覆盖 HOME 环境变量。
18
16
  */
19
- function getConfigDir() {
20
- const homeDir = os.homedir();
21
- return path.join(homeDir, '.chuantou');
17
+ export function getConfigFile() {
18
+ return join(homedir(), '.chuantou', 'config.json');
22
19
  }
23
20
  /**
24
- * 获取客户端配置文件的完整路径。
21
+ * 从配置文件加载客户端配置。
25
22
  *
26
- * @returns 配置文件 `client.json` 的绝对路径
23
+ * @returns 客户端配置对象
24
+ * @throws {Error} 配置文件不存在时抛出错误(提示用户先运行 set)
27
25
  */
28
- function getClientConfigPath() {
29
- return path.join(getConfigDir(), 'client.json');
30
- }
31
- /**
32
- * 解析代理配置字符串为代理配置数组。
33
- *
34
- * 字符串格式为逗号分隔的代理项,每项格式为 `remotePort:localPort[:localHost]`。
35
- * 每个端口同时支持 HTTP、WebSocket 和 TCP 所有协议。
36
- *
37
- * @example
38
- * ```
39
- * parseProxies('8080:3000:localhost,8081:3001')
40
- * ```
41
- *
42
- * @param proxiesStr - 代理配置字符串,如 `"8080:3000:localhost,8081:3001"`
43
- * @returns 解析后的代理配置数组
44
- */
45
- function parseProxies(proxiesStr) {
46
- return proxiesStr.split(',').map((p) => {
47
- const parts = p.trim().split(':');
48
- const remotePort = parseInt(parts[0], 10);
49
- const localPort = parseInt(parts[1], 10);
50
- const localHost = (parts.length >= 3 && parts[2]) ? parts[2] : 'localhost';
51
- return {
52
- remotePort,
53
- localPort,
54
- localHost,
55
- };
56
- });
57
- }
58
- /**
59
- * 解析命令行参数。
60
- *
61
- * 支持以下命令行选项:
62
- * - `--config <path>` - 配置文件路径
63
- * - `--server <url>` - 服务器地址
64
- * - `--token <token>` - 认证令牌
65
- * - `--proxies <proxies>` - 代理配置字符串
66
- *
67
- * @returns 解析后的命令行参数对象,未指定的参数值为 `undefined`
68
- */
69
- function parseArgs() {
70
- const args = process.argv.slice(2);
71
- const result = {};
72
- for (let i = 0; i < args.length; i++) {
73
- const arg = args[i];
74
- if (arg === '--config' && i + 1 < args.length) {
75
- result.config = args[++i];
76
- }
77
- else if (arg === '--server' && i + 1 < args.length) {
78
- result.server = args[++i];
79
- }
80
- else if (arg === '--token' && i + 1 < args.length) {
81
- result.token = args[++i];
82
- }
83
- else if (arg === '--proxies' && i + 1 < args.length) {
84
- result.proxies = args[++i];
85
- }
86
- }
87
- return result;
88
- }
89
- /**
90
- * 从指定路径的 JSON 文件中加载配置。
91
- *
92
- * 如果文件不存在或解析失败,返回空对象。
93
- *
94
- * @param configPath - 配置文件的绝对路径
95
- * @returns 部分客户端配置对象,加载失败时返回空对象
96
- */
97
- async function loadFromFile(configPath) {
26
+ export async function loadConfig() {
27
+ const configFile = getConfigFile();
28
+ let content;
98
29
  try {
99
- const content = await fs.readFile(configPath, 'utf-8');
100
- return JSON.parse(content);
30
+ content = await fs.readFile(configFile, 'utf-8');
101
31
  }
102
- catch (error) {
103
- return {};
32
+ catch {
33
+ throw new Error(`配置文件不存在,请先运行:feng3d-ctc set -ip <服务端IP> -p <服务端端口> -t <token>`);
104
34
  }
35
+ const raw = JSON.parse(content);
36
+ const config = {
37
+ serverIp: raw.serverIp ?? '',
38
+ serverPort: raw.serverPort ?? 9000,
39
+ token: raw.token ?? '',
40
+ tls: raw.tls ?? false,
41
+ };
42
+ validateConfig(config);
43
+ return config;
105
44
  }
106
45
  /**
107
- * 加载并合并所有来源的配置。
108
- *
109
- * 配置合并优先级(从低到高):
110
- * 1. 内置默认值
111
- * 2. 配置文件中的值
112
- * 3. 命令行参数
46
+ * 保存客户端配置到配置文件。
113
47
  *
114
- * @returns 合并后的完整客户端配置对象
48
+ * @param config - 客户端配置对象
115
49
  */
116
- async function loadConfig() {
117
- const args = parseArgs();
118
- let config = {
119
- serverUrl: 'ws://localhost:9000',
120
- token: '',
121
- reconnectInterval: DEFAULT_CONFIG.RECONNECT_INTERVAL,
122
- maxReconnectAttempts: DEFAULT_CONFIG.MAX_RECONNECT_ATTEMPTS,
123
- proxies: [
124
- { remotePort: 8080, localPort: 3000, localHost: 'localhost' },
125
- ],
126
- };
127
- // 1. 从配置文件加载
128
- const configPath = args.config || getClientConfigPath();
129
- const fileConfig = await loadFromFile(configPath);
130
- Object.assign(config, fileConfig);
131
- // 2. 命令行参数覆盖
132
- if (args.server)
133
- config.serverUrl = args.server;
134
- if (args.token)
135
- config.token = args.token;
136
- if (args.proxies)
137
- config.proxies = parseProxies(args.proxies);
138
- return config;
50
+ export async function saveConfig(config) {
51
+ validateConfig(config);
52
+ const configFile = getConfigFile();
53
+ await fs.mkdir(dirname(configFile), { recursive: true });
54
+ await fs.writeFile(configFile, JSON.stringify(config, null, 2), 'utf-8');
139
55
  }
140
56
  /**
141
- * 客户端配置类。
142
- *
143
- * 实现 {@link ClientConfig} 接口,封装了客户端运行所需的全部配置项,
144
- * 提供配置加载和验证功能。
57
+ * 校验配置合法性。
145
58
  *
146
- * @example
147
- * ```typescript
148
- * const config = await Config.load();
149
- * config.validate();
150
- * console.log(config.serverUrl);
151
- * ```
59
+ * @throws {Error} 配置不合法时抛出错误
152
60
  */
153
- export class Config {
154
- /**
155
- * 创建配置实例。
156
- *
157
- * @param data - 客户端配置数据对象
158
- */
159
- constructor(data) {
160
- this.serverUrl = data.serverUrl;
161
- this.token = data.token;
162
- this.reconnectInterval = data.reconnectInterval;
163
- this.maxReconnectAttempts = data.maxReconnectAttempts;
164
- this.proxies = data.proxies;
61
+ function validateConfig(config) {
62
+ if (!config.serverIp) {
63
+ throw new Error('服务端 IP 不能为空');
165
64
  }
166
- /**
167
- * 从配置文件和命令行参数中加载配置并创建实例。
168
- *
169
- * 优先使用命令行参数中的值覆盖配置文件中的值。
170
- *
171
- * @returns 加载完成的 Config 实例
172
- */
173
- static async load() {
174
- const config = await loadConfig();
175
- return new Config(config);
65
+ if (!config.serverPort || config.serverPort < 1 || config.serverPort > 65535) {
66
+ throw new Error(`服务端端口无效: ${config.serverPort}`);
176
67
  }
177
- /**
178
- * 验证配置的合法性。
179
- *
180
- * 检查以下内容:
181
- * - 服务器地址不为空且以 `ws://` 或 `wss://` 开头
182
- * - 认证令牌不为空
183
- * - 至少配置了一个代理
184
- * - 每个代理的端口号合法
185
- *
186
- * @throws {Error} 当配置项不合法时抛出错误,包含具体的错误描述
187
- */
188
- validate() {
189
- if (!this.serverUrl) {
190
- throw new Error('服务器地址是必需的 (--server ws://host:port 或 --config 配置文件)');
191
- }
192
- if (!this.serverUrl.startsWith('ws://') && !this.serverUrl.startsWith('wss://')) {
193
- throw new Error('服务器地址必须以 ws:// 或 wss:// 开头');
194
- }
195
- // 不再强制要求至少有一个代理配置 - 支持通过管理页面动态添加/删除代理
196
- // if (this.proxies.length === 0) {
197
- // throw new Error('至少需要一个代理配置 (--proxies 或 --config 配置文件)');
198
- // }
199
- for (let i = 0; i < this.proxies.length; i++) {
200
- const proxy = this.proxies[i];
201
- if (!proxy.remotePort || proxy.remotePort < 1024 || proxy.remotePort > 65535) {
202
- throw new Error(`proxy[${i}] 的 remotePort 无效: ${proxy.remotePort}`);
203
- }
204
- if (!proxy.localPort || proxy.localPort < 1 || proxy.localPort > 65535) {
205
- throw new Error(`proxy[${i}] 的 localPort 无效: ${proxy.localPort}`);
206
- }
207
- }
68
+ if (!config.token) {
69
+ throw new Error('认证 token 不能为空');
208
70
  }
209
71
  }
210
72
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGrC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAC;IACzD,MAAM,MAAM,GAAiB;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;QAClC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;KACtB,CAAC;IACF,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAoB;IACnD,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -7,8 +7,49 @@
7
7
  * 负责身份认证、心跳保活、数据通道建立、消息收发、断线重连等核心通信逻辑。
8
8
  */
9
9
  import { EventEmitter } from 'events';
10
- import { Config } from './config.js';
10
+ import { NewConnectionMessage, ConnectionCloseMessage, ConnectionErrorMessage, Message } from '@feng3d/chuantou-shared';
11
11
  import { DataChannel } from './data-channel.js';
12
+ /**
13
+ * 强类型 EventEmitter 接口
14
+ */
15
+ type TypedEventEmitter<Events> = {
16
+ on<K extends keyof Events & string>(event: K, listener: (...args: Events[K] extends unknown[] ? Events[K] : never) => void): TypedEventEmitter<Events>;
17
+ emit<K extends keyof Events & string>(event: K, ...args: Events[K] extends unknown[] ? Events[K] : never): boolean;
18
+ removeAllListeners(event?: keyof Events & string): TypedEventEmitter<Events>;
19
+ removeListener<K extends keyof Events & string>(event: K, listener: (...args: Events[K] extends unknown[] ? Events[K] : never) => void): TypedEventEmitter<Events>;
20
+ once<K extends keyof Events & string>(event: K, listener: (...args: Events[K] extends unknown[] ? Events[K] : never) => void): TypedEventEmitter<Events>;
21
+ };
22
+ /**
23
+ * Controller 事件类型映射接口
24
+ *
25
+ * 为所有事件提供强类型约束,避免事件参数类型错误。
26
+ */
27
+ export interface ControllerEvents {
28
+ connected: [];
29
+ disconnected: [];
30
+ authenticated: [];
31
+ maxReconnectAttemptsReached: [];
32
+ newConnection: [message: NewConnectionMessage];
33
+ connectionClose: [message: ConnectionCloseMessage];
34
+ connectionError: [message: ConnectionErrorMessage];
35
+ controlMessage: [message: Message];
36
+ }
37
+ /**
38
+ * 控制器连接配置
39
+ */
40
+ export interface ControllerConfig {
41
+ /** 服务端 WebSocket 控制通道完整 URL,如 `ws://host:9000/control` */
42
+ serverUrl: string;
43
+ /** 认证令牌 */
44
+ token: string;
45
+ /** 断线重连间隔(毫秒) */
46
+ reconnectInterval: number;
47
+ /** 最大重连尝试次数 */
48
+ maxReconnectAttempts: number;
49
+ }
50
+ declare const Controller_base: {
51
+ new (): TypedEventEmitter<ControllerEvents> & EventEmitter;
52
+ };
12
53
  /**
13
54
  * 客户端控制器类。
14
55
  *
@@ -20,7 +61,7 @@ import { DataChannel } from './data-channel.js';
20
61
  * - `connectionClose` — 收到连接关闭通知
21
62
  * - `connectionError` — 收到连接错误通知
22
63
  */
23
- export declare class Controller extends EventEmitter {
64
+ export declare class Controller extends Controller_base {
24
65
  private config;
25
66
  private ws;
26
67
  private connected;
@@ -33,7 +74,7 @@ export declare class Controller extends EventEmitter {
33
74
  private clientId;
34
75
  /** 二进制数据通道 */
35
76
  private dataChannel;
36
- constructor(config: Config);
77
+ constructor(config: ControllerConfig);
37
78
  /**
38
79
  * 获取数据通道实例
39
80
  */
@@ -65,12 +106,13 @@ export declare class Controller extends EventEmitter {
65
106
  */
66
107
  private handleMessage;
67
108
  private handleResponse;
68
- sendRequest<T>(message: any, timeout?: number): Promise<T>;
69
- sendMessage(message: any): boolean;
109
+ sendRequest<T extends Message>(message: Message, timeout?: number): Promise<T>;
110
+ sendMessage(message: Message): boolean;
70
111
  isConnected(): boolean;
71
112
  isAuthenticated(): boolean;
72
113
  getReconnectAttempts(): number;
73
114
  disconnect(): void;
74
115
  destroy(): void;
75
116
  }
117
+ export {};
76
118
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAYtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAIR;IAEf,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAc;IAE9B,cAAc;IACd,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,MAAM;IAM1B;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C9B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;YACW,qBAAqB;IAuBnC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,uBAAuB;IAO/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,cAAc;IAStB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,MAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAYjE,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IASlC,WAAW,IAAI,OAAO;IAItB,eAAe,IAAI,OAAO;IAI1B,oBAAoB,IAAI,MAAM;IAI9B,UAAU,IAAI,IAAI;IAelB,OAAO,IAAI,IAAI;CAQhB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { WebSocket } from 'ws';
10
10
  import { EventEmitter } from 'events';
11
- import { MessageType, createMessage, logger, } from '@feng3d/chuantou-shared';
11
+ import { MessageType, createMessage, DEFAULT_CONFIG, logger, } from '@feng3d/chuantou-shared';
12
12
  import { DataChannel } from './data-channel.js';
13
13
  /**
14
14
  * 客户端控制器类。
@@ -142,7 +142,7 @@ export class Controller extends EventEmitter {
142
142
  });
143
143
  this.sendMessage(heartbeatMsg);
144
144
  }
145
- }, 30000);
145
+ }, DEFAULT_CONFIG.HEARTBEAT_INTERVAL);
146
146
  }
147
147
  stopHeartbeat() {
148
148
  if (this.heartbeatTimer) {
@@ -156,27 +156,28 @@ export class Controller extends EventEmitter {
156
156
  }
157
157
  // 检查是否已达到最大重连次数
158
158
  if (this.reconnectAttempts >= this.config.maxReconnectAttempts) {
159
- logger.error(`已达到最大重连次数 (${this.reconnectAttempts}),停止重连`);
159
+ logger.error(`已达到最大重连次数 (${this.config.maxReconnectAttempts}),停止重连`);
160
160
  this.emit('maxReconnectAttemptsReached');
161
161
  return;
162
162
  }
163
163
  const delay = this.calculateReconnectDelay();
164
- logger.log(`将在 ${delay}ms 后重连... (第 ${this.reconnectAttempts + 1} 次尝试)`);
164
+ this.reconnectAttempts++;
165
+ logger.log(`将在 ${delay}ms 后尝试第 ${this.reconnectAttempts} 次重连...`);
165
166
  this.reconnectTimer = setTimeout(() => {
166
167
  this.reconnectTimer = null;
167
- this.reconnectAttempts++;
168
168
  this.connect().catch((error) => {
169
169
  const errorMessage = error instanceof Error ? error.message : String(error);
170
170
  logger.error('重连失败:', errorMessage);
171
- this.scheduleReconnect();
172
171
  });
173
172
  }, delay);
174
173
  }
175
174
  calculateReconnectDelay() {
176
175
  const baseDelay = this.config.reconnectInterval;
177
- const maxDelay = 60000;
176
+ const maxDelay = 60000; // 最大 60 秒
178
177
  const delay = Math.min(baseDelay * Math.pow(2, this.reconnectAttempts), maxDelay);
179
- return delay + Math.random() * 1000;
178
+ // 添加一些随机抖动
179
+ const jitter = Math.random() * 1000;
180
+ return Math.floor(delay + jitter);
180
181
  }
181
182
  /**
182
183
  * 处理控制消息(仅控制消息,数据通过 DataChannel 传输)
@@ -191,10 +192,6 @@ export class Controller extends EventEmitter {
191
192
  case MessageType.AUTH_RESP:
192
193
  case MessageType.REGISTER_RESP:
193
194
  case MessageType.HEARTBEAT_RESP:
194
- case MessageType.CLIENT_REGISTER_RESP:
195
- case MessageType.CLIENT_LIST:
196
- case MessageType.REMOTE_COMMAND_RESP:
197
- case MessageType.REMOTE_STATUS_RESP:
198
195
  this.handleResponse(message);
199
196
  break;
200
197
  case MessageType.NEW_CONNECTION:
@@ -206,16 +203,6 @@ export class Controller extends EventEmitter {
206
203
  case MessageType.CONNECTION_ERROR:
207
204
  this.emit('connectionError', message);
208
205
  break;
209
- case MessageType.REMOTE_ADD_PROXY:
210
- case MessageType.REMOTE_REMOVE_PROXY:
211
- case MessageType.REMOTE_GET_STATUS:
212
- // 远程管理命令,通过 controlMessage 事件处理
213
- this.emit('remoteCommand', message);
214
- break;
215
- case MessageType.INCOMING_CONNECTION:
216
- case MessageType.CONNECTION_ESTABLISHED:
217
- // 这些消息通过 controlMessage 事件处理
218
- break;
219
206
  default:
220
207
  logger.warn(`未知消息类型: ${msgType}`);
221
208
  }
@@ -239,7 +226,7 @@ export class Controller extends EventEmitter {
239
226
  this.pendingRequests.delete(message.id);
240
227
  reject(new Error('请求超时'));
241
228
  }, timeout);
242
- this.pendingRequests.set(message.id, { resolve, reject, timeout: timer });
229
+ this.pendingRequests.set(message.id, { resolve: resolve, reject, timeout: timer });
243
230
  this.sendMessage(message);
244
231
  });
245
232
  }