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:
@@ -1,8 +1,25 @@
|
||||
package player
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
// rpc,跨服匹配的玩家,只做数据的传输
|
||||
type RPC_player struct {
|
||||
baseplayer
|
||||
//
|
||||
serviceid uint32 //玩家所在的ID
|
||||
}
|
||||
|
||||
func (f *RPC_player) SendPackCmd(cmd uint32, data any) {
|
||||
|
||||
conn, _ := g.Redis("cool").Conn(context.TODO())
|
||||
|
||||
defer conn.Close(context.TODO())
|
||||
conn.Do(context.TODO(), "publish", "sun:send", cmd, data)
|
||||
|
||||
//fmt.Println("战斗结束")
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user