From 45ea4ae464d22f1dcc088195886111dd8b1f7b7d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 16 Sep 2023 10:41:46 +0800 Subject: [PATCH] 1 --- server/hallserver/listener/handlermgr.go | 2 ++ server/hallserver/player/player.go | 15 +++++++++++++++ server/hallserver/proto/cs_msgid.proto | 1 + server/hallserver/proto/cs_proto.proto | 7 +++++++ 4 files changed, 25 insertions(+) diff --git a/server/hallserver/listener/handlermgr.go b/server/hallserver/listener/handlermgr.go index fbabdb3e..3d81da01 100644 --- a/server/hallserver/listener/handlermgr.go +++ b/server/hallserver/listener/handlermgr.go @@ -30,6 +30,8 @@ func (this *HandlerMgr) Init() { cs.RegHandlerId(int(cs.CMMessageIdE__CMKickoutTeam), constant.ROOM_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMKickoutMember), constant.ROOM_HANDLER_ID) cs.RegHandlerId(int(cs.CMMessageIdE__CMCloseNotify), constant.ROOM_HANDLER_ID) + + cs.RegHandlerId(int(cs.CMMessageIdE__CMReportPingValue), constant.PLAYER_HANDLER_ID) } func (this *HandlerMgr) UnInit() { diff --git a/server/hallserver/player/player.go b/server/hallserver/player/player.go index c7141aeb..a15f48bb 100644 --- a/server/hallserver/player/player.go +++ b/server/hallserver/player/player.go @@ -45,6 +45,7 @@ func (this *player) init(req *pendingLoginRequest, name string, avatarUrl string this.name = name this.avatarUrl = avatarUrl this.heroId = heroId + this.internalSetPing(req.msg.GetPing()) } func (this *player) onOffline(){ @@ -97,3 +98,17 @@ func (this *player) GetNodeId() int32 { func (this *player) IsOnline() bool { return this.socket.IsValid() } + +func (this *player) CMReportPingValue(hdr *f5.MsgHdr, msg *cs.CMReportPingValue) { + this.internalSetPing(msg.GetPing()) +} + +func (this *player) internalSetPing(ping int32) { + if ping < 30 { + this.ping = 30 + } else if ping > 1000 { + this.ping = 1000 + } else { + this.ping = ping + } +} diff --git a/server/hallserver/proto/cs_msgid.proto b/server/hallserver/proto/cs_msgid.proto index 2401fdf3..0f9fe859 100644 --- a/server/hallserver/proto/cs_msgid.proto +++ b/server/hallserver/proto/cs_msgid.proto @@ -19,6 +19,7 @@ enum CMMessageId_e _CMKickoutTeam = 113; _CMKickoutMember = 114; _CMCloseNotify = 115; + _CMReportPingValue = 116; } enum SMMessageId_e diff --git a/server/hallserver/proto/cs_proto.proto b/server/hallserver/proto/cs_proto.proto index 6e9d67ba..97ce2e1f 100644 --- a/server/hallserver/proto/cs_proto.proto +++ b/server/hallserver/proto/cs_proto.proto @@ -152,6 +152,7 @@ message CMLogin optional string session_id = 20; //账号id optional int32 zone_id = 21; //国家Id optional int32 node_id = 22; //节点id + optional int32 ping = 23; //节点id } //登录回复 @@ -295,6 +296,12 @@ message CMCloseNotify optional int32 param = 1; //1:关闭SMRoomGameStartNotify } +//上报ping值 +message CMReportPingValue +{ + optional int32 ping = 1; +} + //房间成员信息变更通知 message SMRoomMemberChangeNotify {