```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(player): 优化客户端数据处理机制

重构ClientData的消息处理流程,将OnEvent方法改为非阻塞的通道投递模式,
新增MsgChan用于异步消息传递,避免eventloop阻塞问题。

fix(fight): 修复宠物闪光属性过滤条件

在initplayer方法中增加color.Alpha不为0的判断条件,确保只有有效的
闪光属性才会被添加到宠物信息中。

refactor(socket): 调整服务器事件处理逻辑

移除未使用的Lockfree库依赖,注释掉不再需要的连接关闭资源释放代码,
调整事件处理的工作池提交逻辑。

feat(rpc): 新增Redis发布功能

为RPC_player添加SendPackCmd方法,通过Redis的publish命令实现
跨服数据传输功能。
```
This commit is contained in:
昔念
2026-03-04 01:30:40 +08:00
parent 0aaa4b3ddd
commit dffd6a63a6
4 changed files with 78 additions and 24 deletions

View File

@@ -86,7 +86,8 @@ func (s *Server) OnClose(c gnet.Conn, err error) (action gnet.Action) {
//logging.Infof("conn[%v] disconnected", c.RemoteAddr().String())
v, _ := c.Context().(*player.ClientData)
v.LF.Close()
//v.LF.Close()
// v.LF.Close()
if v.Player != nil {
v.Player.Save() //保存玩家数据
@@ -281,10 +282,12 @@ func (s *Server) onevent(c gnet.Conn, v []byte) {
} else {
header.Data = nil // 避免空切片分配
}
//t.OnEvent(header)
s.workerPool.Submit(func() {
t.LF.Producer().Write(header)
})
t.OnEvent(header)
// t.LF.Push(header)
// s.workerPool.Submit(func() {
// t.LF.Push(header)
// // t.LF.Producer().Write(header)
// })
}
}