From ecf971fe3198484f594992e573af8734ed819dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Sat, 7 Feb 2026 23:09:11 +0800 Subject: [PATCH] 1 --- common/rpc/rpc.go | 8 +++----- logic/controller/login_main.go | 8 +++++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/common/rpc/rpc.go b/common/rpc/rpc.go index 5c50e677d..bc5c5be97 100644 --- a/common/rpc/rpc.go +++ b/common/rpc/rpc.go @@ -27,12 +27,10 @@ func (*ServerHandler) Kick(_ context.Context, userid uint32) error { } cl, ok := cool.GetClient(useid1) - if ok { - err := cl.KickPerson(userid) //实现指定服务器踢人 - if err != nil { - return fmt.Errorf("踢人失败", err) - } + if !ok { + return fmt.Errorf("server not found", err) } + cl.KickPerson(userid) //实现指定服务器踢人 return nil } diff --git a/logic/controller/login_main.go b/logic/controller/login_main.go index d019ddbb2..0e9387d8f 100644 --- a/logic/controller/login_main.go +++ b/logic/controller/login_main.go @@ -30,7 +30,13 @@ func (h Controller) Login(data *user.MAIN_LOGIN_IN, c gnet.Conn) (result *user.L defer c.Close() return } - Maincontroller.RPCClient.Kick(data.Head.UserID) //通知其他服务器踢人 + error := Maincontroller.RPCClient.Kick(data.Head.UserID) //通知其他服务器踢人 + if error != nil { + cool.Logger.Error(context.Background(), "踢人失败", err) + + defer c.Close() + return + } currentPlayer := player.GetPlayer(c, data.Head.UserID) if currentPlayer == nil { cool.Logger.Error(context.Background(), "获取玩家失败", data.Head.UserID)