refactor(pack): 重构组包逻辑
- 移除 common/core/pack.go 文件 - 在 TomeeHeader 结构体中添加 Pack 方法实现组包功能 - 更新 Player 结构体和相关方法,使用 Conn 包装 gnet.Conn - 修改控制器和服务中的组包调用,使用新的 Pack 方法 - 优化部分代码结构,提高可维护性
This commit is contained in:
@@ -14,13 +14,10 @@ import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
||||
"github.com/gobwas/ws"
|
||||
"github.com/gobwas/ws/wsutil"
|
||||
"github.com/gogf/gf/v2/os/gcmd"
|
||||
"github.com/gogf/gf/v2/os/glog"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
"github.com/lunixbochs/struc"
|
||||
"github.com/panjf2000/gnet/pkg/logging"
|
||||
"github.com/panjf2000/gnet/v2"
|
||||
)
|
||||
|
||||
@@ -202,21 +199,8 @@ func Recv(c gnet.Conn, data handler.TomeeHeader) {
|
||||
}
|
||||
|
||||
ret := cmdlister.Call(params)
|
||||
//return core.Pack(data.Handler.UserID, data.Handler.CMD, t1, 0)
|
||||
//core.Pack(c, cmd cmd.EnumCommandID, data any, iserror uint32)
|
||||
if c.Context().(*entity.ClientData).Getwsmsg().Upgraded {
|
||||
// This is the echo server
|
||||
err = wsutil.WriteServerMessage(c, ws.OpBinary, ret[0].Interface().([]byte))
|
||||
if err != nil {
|
||||
logging.Infof("conn[%v] [err=%v]", c.RemoteAddr().String(), err.Error())
|
||||
return
|
||||
}
|
||||
} else {
|
||||
|
||||
_, err = c.Write(ret[0].Interface().([]byte))
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
r := entity.Conn{c}
|
||||
r.SendPack(ret[0].Interface().([]byte))
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"blazing/common/core"
|
||||
"blazing/logic/service/server"
|
||||
|
||||
"github.com/panjf2000/gnet/v2"
|
||||
@@ -16,7 +15,7 @@ func (h Controller) GetServer(data server.SidInfo, c gnet.Conn) []byte { //这
|
||||
|
||||
ret.ServerList = server.GetServerInfoList()
|
||||
|
||||
tt := core.Pack(data.Head, ret)
|
||||
tt := data.Head.Pack(ret)
|
||||
//fmt.Println(hex.EncodeToString(tt))
|
||||
// c.Write(tt)
|
||||
return tt
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"blazing/common/core"
|
||||
"blazing/logic/service"
|
||||
"blazing/logic/service/login"
|
||||
"encoding/hex"
|
||||
@@ -27,8 +26,8 @@ func (h *Controller) Login(data login.LoginSidInfo, c gnet.Conn) []byte { //这
|
||||
data.Head.Version = "7"
|
||||
data.Head.UserID = 99942
|
||||
data.Head.Result = 0
|
||||
fmt.Println(core.Pack(data.Head, t1[17:])[:40])
|
||||
return core.Pack(data.Head, t1[17:])
|
||||
fmt.Println(data.Head.Pack(t1[17:])[:40])
|
||||
return data.Head.Pack(t1[17:])[:40]
|
||||
//return //t1, _ := hex.DecodeString("000186A6683F89CF6E69656F0000000000000000000000000008000F00000000000000000000000000000000000000000000000000000001000001DB0000018B000000000000A8C000000000000000000000000000000000000000080001388000000001000000017FFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000064000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001FFFFFFFF000000004E4F4E4F0000000000000000000000000000000000000001000000010000000100000001000000010000000100000001000000000003030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000100000064000000000000000000000000000000000000001F000000000000006400000000000093F4000093F4000000D5000000F7000000AD00000088000000920000008C0000009C00000000000000000000000000000000000000000000000000000004000027900000001B00004E6200000014000028380000002800004E3E0000002368493DC60000000000000000000000000000000000000000000100000000000000A937000007D1000186A600000000000186A66E69656F00000000000000000000000000000000000000000000000F0000000000000000000001DB0000018B0000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000001000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
|
||||
// return t1
|
||||
|
||||
Reference in New Issue
Block a user