fix(socket): 修复TCP连接处理逻辑与数据包解析问题

- 在 `ServerEvent.go` 中,移除无效的错误连接计数逻辑,明确标识 TCP 连接并直接调用 `handleTcp`
- 优化 `handleTcp` 方法中对数据解析的处理,避免空数据提交到工作池
- 在 `SocketCodec_Tomee.go` 中将 `maxBodyLen` 常量提升为包级常量,便于复用和管理
- 重构 `Decode` 方法的数据读取逻辑,确保包体正确解析并丢弃已处理数据
- 移除冗余代码和注释,提高可读性和健壮性
```
This commit is contained in:
2025-10-18 10:12:44 +08:00
parent 5f8c18e7d8
commit 11738b84fc

View File

@@ -45,7 +45,7 @@ func (s *Server) OnClose(c gnet.Conn, _ error) (action gnet.Action) {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
fmt.Println("Recovered in onclose", r)
}
}()
atomic.AddInt64(&s.connected, -1)
@@ -53,9 +53,9 @@ func (s *Server) OnClose(c gnet.Conn, _ error) (action gnet.Action) {
v, ok := c.Context().(*player.ClientData)
if ok && v.Player != nil {
cool.Loger.Info(context.TODO(), "准备保存", v.Player.Info.UserID)
//cool.Loger.Info(context.TODO(), "准备保存", v.Player.Info.UserID)
v.Player.Save() //保存玩家数据
cool.Loger.Info(context.TODO(), "保存完成", v.Player.Info.UserID)
//cool.Loger.Info(context.TODO(), "保存完成", v.Player.Info.UserID)
if v.CloseChan != nil {
close(v.CloseChan)
}
@@ -95,7 +95,7 @@ func (s *Server) OnOpen(conn gnet.Conn) (out []byte, action gnet.Action) {
func (s *Server) OnTraffic(c gnet.Conn) (action gnet.Action) {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
fmt.Println("Recovered in OnTraffic", r)
}
}()
if s.network != "tcp" {