From 8c6f04d0bc7f8f140e91b4942da7f45b089e8b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Sun, 27 Oct 2024 11:08:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20#469=20=E5=9B=9E=E6=94=B6=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=EF=BC=88=E6=9C=AA=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/onebot/network/passive-websocket.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/onebot/network/passive-websocket.ts b/src/onebot/network/passive-websocket.ts index ba967222..7559b43a 100644 --- a/src/onebot/network/passive-websocket.ts +++ b/src/onebot/network/passive-websocket.ts @@ -119,11 +119,25 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter { async close() { this.isOpen = false; - this.wsServer.close(); + this.wsServer.close((err) => { + if (err) { + this.logger.logError.bind(this.logger)('[OneBot] [WebSocket Server] Error closing server:', err.message); + } else { + this.logger.log('[OneBot] [WebSocket Server] Server Closed'); + } + + }); if (this.heartbeatIntervalId) { clearInterval(this.heartbeatIntervalId); this.heartbeatIntervalId = null; } + await this.wsClientsMutex.runExclusive(async () => { + this.wsClients.forEach((wsClient) => { + wsClient.close(); + }); + this.wsClients = []; + this.wsClientWithEvent = []; + }); } private registerHeartBeat() {