From 9886441c140e44f0ff7ec62db3b31bcc144b3182 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 11 Mar 2024 16:53:31 +0800 Subject: [PATCH] 1 --- server/matchserver/player/playermgr.go | 28 ++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/server/matchserver/player/playermgr.go b/server/matchserver/player/playermgr.go index 9853bc90..7c3db6f9 100644 --- a/server/matchserver/player/playermgr.go +++ b/server/matchserver/player/playermgr.go @@ -298,23 +298,35 @@ func (this *playerMgr) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *ss.SS_WSP_So } func (this *playerMgr) CMReconnect(hdr *f5.MsgHdr, msg *cs.CMReconnect) { - /* - hum := this.internalGetPlayerByAccountId(msg.GetAccountId()) + hum := this.internalGetPlayerBySocket(hdr.GetSocket()) rspMsg := &cs.SMReconnect{} - if hum == nil { - rspMsg.Errcode = proto.Int32(1) - rspMsg.Errmsg = proto.String("") + if hum != nil { GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) return } - if hum.GetSessionId() != msg.GetSessionId() { + team := GetTeamMgr().GetTeamByUuid(msg.GetTeamUuid()) + if team == nil { rspMsg.Errcode = proto.Int32(1) - rspMsg.Errmsg = proto.String("") + rspMsg.Errmsg = proto.String("team already disband") + GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + return + } + member := team.GetMemberByAccountId(msg.GetAccountId()) + if member == nil { + rspMsg.Errcode = proto.Int32(1) + rspMsg.Errmsg = proto.String("team already disband") + GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) + return + } + hum = member.(*player) + if hum.GetSessionId() != msg.GetSessionId() { + rspMsg.Errcode = proto.Int32(2) + rspMsg.Errmsg = proto.String("invalid session_id") GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) return } hum.reBind(hdr.GetSocket()) - GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)*/ + GetWspListener().SendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg) } func (this *playerMgr) onSocketClose(conn f5.WspCliConn) {