From cfcb9aba23d9d5c07de7528485fa47e1660b0918 Mon Sep 17 00:00:00 2001 From: caiyaonan Date: Mon, 25 Mar 2024 18:59:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A6=E5=8F=91=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=E4=BD=8D=E7=BD=AE=EF=BC=8C=E7=AC=AC=E4=B8=89=E6=AC=A1?= =?UTF-8?q?ping=E5=A4=B1=E8=B4=A5=E6=97=B6=EF=BC=8C=E5=B0=86=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=E8=AE=BE=E7=BD=AE9999?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/connect_manager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/connect_manager.ts b/src/connect_manager.ts index 61768dd..586a219 100644 --- a/src/connect_manager.ts +++ b/src/connect_manager.ts @@ -79,6 +79,7 @@ export class ConnectManager { this.heartTimer = setInterval(() => { self.sendPing(); // 发送心跳包 if (self.pingRetryCount > self.pingMaxRetryCount) { + this.notifyConnectDelayListeners(9999); // 连接超时 console.log('ping没有响应,断开连接。'); self.onlyDisconnect(); if (this.status === ConnectStatus.Disconnect) { @@ -256,7 +257,6 @@ export class ConnectManager { const packetType = header >> 4 if (packetType == PacketType.PONG) { dataCallback([header]) - this.notifyConnectDelayListeners(Date.now()-this.pingTime) return data.slice(1) } @@ -341,6 +341,7 @@ export class ConnectManager { this.notifyConnectStatusListeners(connackPacket.reasonCode); } else if (p.packetType === PacketType.PONG) { this.pingRetryCount = 0; + this.notifyConnectDelayListeners(Date.now()-this.pingTime) } else if (p.packetType === PacketType.DISCONNECT) { // 服务器要求客户端断开(一般是账号在其他地方登录,被踢) const disconnectPacket = (p as DisconnectPacket)