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:
@@ -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)
|
||||
// })
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user