refactor: 热重载

This commit is contained in:
手瓜一十雪
2024-11-25 15:16:12 +08:00
parent 3565cb835f
commit cabc06dd81
3 changed files with 23 additions and 51 deletions

View File

@@ -68,6 +68,14 @@ export class OB11NetworkManager {
await adapter.close();
}
}
async closeSomeAdaterWhenOpen(adaptersToClose: IOB11NetworkAdapter[]) {
for (const adapter of adaptersToClose) {
this.adapters.delete(adapter.name);
if(adapter.isEnable){
await adapter.close();
}
}
}
findSomeAdapter(name: string) {
return this.adapters.get(name);

View File

@@ -31,13 +31,9 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter {
) {
this.config = structuredClone(config);
this.logger = core.context.logger;
if (this.config.host === '0.0.0.0') {
//兼容配置同时处理0.0.0.0逻辑
this.config.host = '';
}
this.wsServer = new WebSocketServer({
port: this.config.port,
host: this.config.host,
host: this.config.host === '0.0.0.0' ? '' : this.config.host,
maxPayload: 1024 * 1024 * 1024,
});
this.wsServer.on('connection', async (wsClient, wsReq) => {
@@ -202,11 +198,13 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter {
this.open();
return OB11NetworkReloadType.NetWorkOpen;
} else if (!newConfig.enable && wasEnabled) {
console.log(newConfig.enable, wasEnabled);
this.close();
return OB11NetworkReloadType.NetWorkClose;
}
if (oldPort !== newConfig.port || oldHost !== newConfig.host) {
console.log(oldPort, newConfig.port, oldHost, newConfig.host);
this.close();
this.wsServer = new WebSocketServer({
port: newConfig.port,