refactor(pack): 重构组包逻辑

- 移除 common/core/pack.go 文件
- 在 TomeeHeader 结构体中添加 Pack 方法实现组包功能
- 更新 Player 结构体和相关方法,使用 Conn 包装 gnet.Conn
- 修改控制器和服务中的组包调用,使用新的 Pack 方法
- 优化部分代码结构,提高可维护性
This commit is contained in:
2025-07-14 11:07:13 +08:00
parent 2d012b25dc
commit aeb0d4090e
8 changed files with 96 additions and 95 deletions

View File

@@ -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))
}