Skip to content

Commit 770da60

Browse files
committed
refactor(Hotfix): 优化心跳消息处理并使用对象池
- 使用MessageObjectPoolHelper获取ReqActorHeartBeat对象,避免重复创建 - 添加心跳消息检查,避免处理不必要的心跳消息 - 调用基类方法处理非心跳消息
1 parent 9ceadf6 commit 770da60

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

GameFrameX.Hotfix/StartUp/AppStartUpHotfixGameByDiscoveryCenter.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,22 @@ protected override void GameAppClientOnConnected()
5353
Send(reqRegisterServer);
5454
}
5555

56-
readonly ReqActorHeartBeat _reqActorHeartBeat = new ReqActorHeartBeat();
5756

5857
protected override MessageObject GameAppClientOnHeartBeat()
5958
{
60-
_reqActorHeartBeat.Timestamp = TimeHelper.UnixTimeMilliseconds();
61-
_reqActorHeartBeat.UpdateUniqueId();
62-
return _reqActorHeartBeat;
59+
var reqActorHeartBeat = MessageObjectPoolHelper.Get<ReqActorHeartBeat>();
60+
reqActorHeartBeat.Timestamp = TimeHelper.UnixTimeMilliseconds();
61+
reqActorHeartBeat.UpdateUniqueId();
62+
return reqActorHeartBeat;
6363
}
6464

6565
protected override void GameAppClientOnMessage(MessageObject message)
6666
{
67+
if (MessageProtoHelper.IsHeartbeat(message))
68+
{
69+
return;
70+
}
71+
72+
base.GameAppClientOnMessage(message);
6773
}
6874
}

0 commit comments

Comments
 (0)