From 978d2c24ee834d51d6d546558fc74759cafd2749 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: Sat, 12 Oct 2024 19:57:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B3=A8=E9=87=8A=E6=8E=89=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/apis/group.ts | 10 +++++----- src/core/helper/packet.ts | 17 +++++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 2ea0b540..307ab3ab 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -46,11 +46,11 @@ export class NTQQGroupApi { this.groupCache.set(group.groupCode, group); } this.context.logger.logDebug(`加载${this.groups.length}个群组缓存完成`); - console.log('pid', process.pid); + //console.log('pid', process.pid); // this.session = await frida.attach(process.pid); - setTimeout(async () => { - this.sendPocketRkey(); - }, 10000); + // setTimeout(async () => { + // this.sendPocketRkey(); + // }, 10000); } async getCoreAndBaseInfo(uids: string[]) { return await this.core.eventWrapper.callNoListenerEvent( @@ -62,7 +62,7 @@ export class NTQQGroupApi { async sendPocketRkey() { let hex = '08E7A00210CA01221D0A130A05080110CA011206A80602B006011A0208022206080A081408022A006001'; let ret = await this.core.apis.PacketApi.sendPacket('OidbSvcTrpcTcp.0x9067_202', hex, true); - console.log('ret: ', ret); + //console.log('ret: ', ret); } async sendPacketPoke(group: number, peer: number) { let data = encodeGroupPoke(group, peer); diff --git a/src/core/helper/packet.ts b/src/core/helper/packet.ts index 9f294421..b287db42 100644 --- a/src/core/helper/packet.ts +++ b/src/core/helper/packet.ts @@ -17,6 +17,7 @@ export class PacketClient { this.logger.log.bind(this.logger)(`Attempting to connect to ${this.url}`); this.websocket = new WebSocket(this.url); this.websocket.on('error', (err) => this.logger.logError.bind(this.logger)('[Core] [Packet Server] Error:', err.message)); + this.websocket.onopen = () => { this.isConnected = true; this.reconnectAttempts = 0; @@ -44,12 +45,16 @@ export class PacketClient { } private attemptReconnect(): void { - if (this.reconnectAttempts < this.maxReconnectAttempts) { - this.reconnectAttempts++; - this.logger.logError.bind(this.logger)(`Reconnecting attempt ${this.reconnectAttempts}`); - setTimeout(() => this.connect().then().catch(), 1000 * this.reconnectAttempts); - } else { - this.logger.logError.bind(this.logger)(`Max reconnect attempts reached. Could not reconnect to ${this.url}`); + try { + if (this.reconnectAttempts < this.maxReconnectAttempts) { + this.reconnectAttempts++; + this.logger.logError.bind(this.logger)(`Reconnecting attempt ${this.reconnectAttempts}`); + setTimeout(() => this.connect().then().catch(), 1000 * this.reconnectAttempts); + } else { + this.logger.logError.bind(this.logger)(`Max reconnect attempts reached. Could not reconnect to ${this.url}`); + } + } catch (error) { + this.logger.logError.bind(this.logger)(`Error attempting to reconnect: ${error}`); } } async registerCallback(trace_id: string, type: string, callback: any): Promise {