From 4f9b33e85a5b92f10dc10faa455f1e720a194eb4 Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Fri, 10 Oct 2025 03:06:23 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/player/server.go | 19 +++++++++++-------- logic/service/player/wscodec.go | 1 + 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/logic/service/player/server.go b/logic/service/player/server.go index 5a3830a8..097115cc 100644 --- a/logic/service/player/server.go +++ b/logic/service/player/server.go @@ -30,15 +30,18 @@ func KickPlayer(userid uint32) { //踢出玩家 //TODO 返回错误码 //var player *entity.Player if player1, ok := Mainplayer.Load(userid); ok { - //取成功,否则创建 - //player1.Save() //先保存数据再返回 - head := NewTomeeHeader(1001, userid) - head.Result = uint32(errorcode.ErrorCodes.ErrAccountLoggedInElsewhere) - //实际上这里有个问题,会造成重复保存问题 + if player1.IsLogin { + //取成功,否则创建 + //player1.Save() //先保存数据再返回 + head := NewTomeeHeader(1001, userid) + head.Result = uint32(errorcode.ErrorCodes.ErrAccountLoggedInElsewhere) + //实际上这里有个问题,会造成重复保存问题 + + player1.SendPack(head.Pack(nil)) + player1.MainConn.MainConn.Close() + // clientdata.Player = player + } - player1.SendPack(head.Pack(nil)) - player1.MainConn.MainConn.Close() - // clientdata.Player = player } //return player diff --git a/logic/service/player/wscodec.go b/logic/service/player/wscodec.go index b30e43e5..a5471392 100644 --- a/logic/service/player/wscodec.go +++ b/logic/service/player/wscodec.go @@ -13,6 +13,7 @@ import ( ) type Conn struct { + MainConn gnet.Conn `struc:"[0]pad"` //TODO 不序列化,,序列化下面的作为blob存数据库 Mu sync.Mutex }