package controller import ( "blazing/common/data/entity" "blazing/common/data/share" "blazing/logic/service" "blazing/logic/service/login" "blazing/logic/service/maps" "github.com/panjf2000/gnet/v2" ) // 处理命令: 1001 func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) (result *maps.MapHotOutboundInfo, err service.OutInfo) { //这个时候player应该是空的 if tt := data.CheakSession(); tt { //说明sid正确 h.RPCClient.Kick(data.Head.UserID) //先踢人 // h.RPCClient.UserLogin(int32(h.Port), int32(data.Head.UserID)) //初始化用户登录 t := service.SetPlayer(c, data.Head.UserID) share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器 t.CompleteLogin() //通知客户端登录成功 r := entity.NewConn(c) //这里实现新增客户端 r.SendPack(data.Def()) } else { err = &login.LoginErr{} return } return }