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

@@ -0,0 +1,32 @@
package entity
import (
"fmt"
"github.com/gobwas/ws"
"github.com/gobwas/ws/wsutil"
"github.com/panjf2000/gnet/v2"
"github.com/panjf2000/gnet/v2/pkg/logging"
)
type Conn struct {
MainConn gnet.Conn `struc:"[0]pad"` //TODO 不序列化,,序列化下面的作为blob存数据库
}
func (c *Conn) SendPack(bytes []byte) error {
if c.MainConn.Context().(*ClientData).Getwsmsg().Upgraded {
// This is the echo server
err := wsutil.WriteServerMessage(c.MainConn, ws.OpBinary, bytes)
if err != nil {
logging.Infof("conn[%v] [err=%v]", c.MainConn.RemoteAddr().String(), err.Error())
return err
}
} else {
_, err := c.MainConn.Write(bytes)
if err != nil {
fmt.Println(err)
}
}
return nil
}