```
refactor(socket): 移除 Lockfree 依赖并优化事件处理逻辑 将原有的基于 Lockfree 的消息队列机制移除,改为直接在协程池中调用客户端数据处理器。 同时调整了 `ClientData` 结构体和相关方法实现,使代码更简洁、易于维护。 此外,注释掉了一处调试日志输出,并修正了获取玩家对象的方式。 ```
This commit is contained in:
@@ -56,8 +56,6 @@ func (s *Server) OnClose(c gnet.Conn, _ error) (action gnet.Action) {
|
||||
v, _ := c.Context().(*player.ClientData)
|
||||
s.workerPool.Submit(func() { //TODO 这里可能存在顺序执行问题,待修复
|
||||
|
||||
v.Lf.Close() //关闭lockfree
|
||||
|
||||
if v.Player != nil {
|
||||
//cool.Loger.Info(context.TODO(), "准备保存", v.Player.Info.UserID)
|
||||
v.Player.Save() //保存玩家数据
|
||||
@@ -152,10 +150,7 @@ func (s *Server) OnTraffic(c gnet.Conn) (action gnet.Action) {
|
||||
t := c.Context().(*player.ClientData)
|
||||
//client := conn.RemoteAddr().String()
|
||||
err = s.workerPool.Submit(func() { //TODO 这里可能存在顺序执行问题,待修复
|
||||
err = t.Lf.Producer().Write(msg.Payload)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.OnEvent(msg.Payload)
|
||||
|
||||
})
|
||||
|
||||
@@ -186,10 +181,7 @@ func (s *Server) handleTcp(conn gnet.Conn) (action gnet.Action) {
|
||||
t := conn.Context().(*player.ClientData)
|
||||
|
||||
err = s.workerPool.Submit(func() { //TODO 这里可能存在顺序执行问题,待修复
|
||||
err = t.Lf.Producer().Write(data)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
t.OnEvent(data)
|
||||
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user