refactor(controller): 重构返回处理逻辑,移除TomeeHeader的Ret方法并改为直接返回[]byte
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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]
|
||||
|
||||
}
|
||||
|
||||
@@ -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 表示地图热度的出站消息
|
||||
|
||||
@@ -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) //返回传参
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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) //返回传参
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user