diff --git a/common/socket/handler/SocketHandler_Tomee.go b/common/socket/handler/SocketHandler_Tomee.go index 50e5e5e07..88dc87423 100644 --- a/common/socket/handler/SocketHandler_Tomee.go +++ b/common/socket/handler/SocketHandler_Tomee.go @@ -21,7 +21,7 @@ type TomeeHeader struct { Result uint32 `json:"result"` Data []byte `json:"data" struc:"skip"` //组包忽略此字段// struc:"[0]pad" - Return []byte `struc:"[0]pad"` //返回记录 + //Return []byte `struc:"[0]pad"` //返回记录 } func NewTomeeHeader() *TomeeHeader { @@ -115,16 +115,7 @@ func (h *TomeeHeader) Pack(data any) []byte { //组包 return by.Bytes() } -func (h *TomeeHeader) Ret() []byte { //默认返回方法 - return h.Return - -} -func (h *TomeeHeader) Set(T any) []byte { //默认返回方法 - h.Return = h.Pack(T) //这里保存一下,用来给调用 - return h.Return - -} // var _ Blazingservice = (*TomeeHeader)(nil) diff --git a/logic/controller/controller.go b/logic/controller/controller.go index 91610634e..81b831a06 100644 --- a/logic/controller/controller.go +++ b/logic/controller/controller.go @@ -207,28 +207,19 @@ func Recv(c gnet.Conn, data handler.TomeeHeader) { params = append(params, ptrValue1, reflect.ValueOf(c)) } - cmdlister.Call(params) + ret :=cmdlister.Call(params) r := entity.Conn{MainConn: c} - // } - aa := ptrValue1.Elem().Field(0).Addr().Interface() - - t := aa.(Blazingservice) - //st, ok := aa.(Blazingservice) - //fmt.Println(t.Ret()) - if t.Ret() != nil { - - err := r.SendPack(t.Ret()) - if err != nil { - fmt.Println(err) - } - //t.Ret() + if len(ret)<=0 { + return } - //r.SendPack(ret[0].Interface().([]byte)) + a,ok:=ret[0].Interface().([]byte) + if ok { + r.SendPack(a) + } + + } -type Blazingservice interface { - Ret() []byte -} diff --git a/logic/controller/login.go b/logic/controller/login.go index 8eab8cfdd..f071b51e9 100644 --- a/logic/controller/login.go +++ b/logic/controller/login.go @@ -10,7 +10,7 @@ import ( ) // 处理命令: 1001 -func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) { //这个时候player应该是空的 +func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) []byte { //这个时候player应该是空的 if tt := data.CheakSession(); tt { //说明sid正确 h.RPCClient.Kick(data.Head.UserID) //先踢人 @@ -21,10 +21,10 @@ func (h *Controller) Login(data *login.LoginSidInfo, c gnet.Conn) { //这个时 share.ShareManager.SetUserOnline(data.Head.UserID, h.Port) //设置用户登录服务器 t.CompleteLogin() //通知客户端登录成功 <-time.After(3000) - data.Def() + return data.Def() } //data.Def() //return //t1, _ := hex.DecodeString("000186A6683F89CF6E69656F0000000000000000000000000008000F00000000000000000000000000000000000000000000000000000001000001DB0000018B000000000000A8C000000000000000000000000000000000000000080001388000000001000000017FFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000064000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001FFFFFFFF000000004E4F4E4F0000000000000000000000000000000000000001000000010000000100000001000000010000000100000001000000000003030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000100000064000000000000000000000000000000000000001F000000000000006400000000000093F4000093F4000000D5000000F7000000AD00000088000000920000008C0000009C00000000000000000000000000000000000000000000000000000004000027900000001B00004E6200000014000028380000002800004E3E0000002368493DC60000000000000000000000000000000000000000000100000000000000A937000007D1000186A600000000000186A66E69656F00000000000000000000000000000000000000000000000F0000000000000000000001DB0000018B0000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000001000000000000000000000000000000000000000000000000000000000000000000000000") - +return nil // return t1 } diff --git a/logic/service/login/LoginSidInfo.go b/logic/service/login/LoginSidInfo.go index f7338cc80..a6ee1c474 100644 --- a/logic/service/login/LoginSidInfo.go +++ b/logic/service/login/LoginSidInfo.go @@ -16,7 +16,7 @@ type LoginSidInfo struct { //这里直接使用组合来实现将传入的原始 // ErrorPassWord uint32 `struc:"[0]pad"` } -func (s *LoginSidInfo) Def() { //默认返回方法 +func (s *LoginSidInfo) Def() []byte { //默认返回方法 t1, _ := hex.DecodeString("0000045D37000003E9000186A600000000000186A6683F89CF6E69656F0000000000000000000000000008000F00000000000000000000000000000000000000000000000000000001000001DB0000018B000000000000A8C000000000000000000000000000000000000000080001388000000001000000017FFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000064000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001FFFFFFFF000000004E4F4E4F0000000000000000000000000000000000000001000000010000000100000001000000010000000100000001000000000003030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000100000064000000000000000000000000000000000000001F000000000000006400000000000093F4000093F4000000D5000000F7000000AD00000088000000920000008C0000009C00000000000000000000000000000000000000000000000000000004000027900000001B00004E6200000014000028380000002800004E3E0000002368493DC60000000000000000000000000000000000000000000100000000000000A937000007D1000186A600000000000186A66E69656F00000000000000000000000000000000000000000000000F0000000000000000000001DB0000018B0000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000001000000000000000000000000000000000000000000000000000000000000000000000000") //t1 = t1[17:] fmt.Println(t1[:40]) @@ -24,7 +24,7 @@ func (s *LoginSidInfo) Def() { //默认返回方法 s.Head.UserID = 99942 s.Head.Result = 0 //s //return data.Head.Pack(t1[17:])[:40] - s.Head.Set(t1[17:]) //返回传参 + return s.Head.Pack(t1[17:]) //返回传参 //return t1[:40] } diff --git a/logic/service/maps/maphot.go b/logic/service/maps/maphot.go index 3ce6d9cad..6f869a0cb 100644 --- a/logic/service/maps/maphot.go +++ b/logic/service/maps/maphot.go @@ -11,13 +11,13 @@ type MapHotInboundInfo struct { Head handler.TomeeHeader `cmd:"1004" struc:"[0]pad"` //玩家登录 } -func (m *MapHotInboundInfo) Def() { +func (m *MapHotInboundInfo) Def()[]byte { - m.Head.Set(MapHotOutboundInfo{ - - HotInfos: make([]MapHotInfo, 0), - }) //返回传参 + +return m.Head.Pack(MapHotOutboundInfo{ + HotInfos: make([]MapHotInfo, 0), +}) //返回传参 } // MapHotOutboundInfo 表示地图热度的出站消息 diff --git a/logic/service/server/CommendSvrInfo.go b/logic/service/server/CommendSvrInfo.go index 5bf076b34..8a853a95c 100644 --- a/logic/service/server/CommendSvrInfo.go +++ b/logic/service/server/CommendSvrInfo.go @@ -20,10 +20,10 @@ type SidInfo struct { //这里直接使用组合来实现将传入的原始头 // ErrorPassWord uint32 `struc:"[0]pad"` } -func (s *SidInfo) Def() { //默认返回方法 +func (s *SidInfo) Def() []byte { //默认返回方法 r := newCommendSvrInfo() r.ServerList = GetServerInfoList() - s.Head.Set(r) //返回传参 + return s.Head.Pack(r) //返回传参 } diff --git a/logic/service/system/System.go b/logic/service/system/System.go index bbfa2d899..8e6b94c3c 100644 --- a/logic/service/system/System.go +++ b/logic/service/system/System.go @@ -11,9 +11,9 @@ type SystemTimeInfo struct { //这里直接使用组合来实现将传入的原 } -func (s *SystemTimeInfo) Def() { //默认返回方法 +func (s *SystemTimeInfo) Def()[]byte { //默认返回方法 - s.Head.Set(NewSystemTimeOutboundInfo) //返回传参 + return s.Head.Pack(NewSystemTimeOutboundInfo) //返回传参 }