Files
bl/logic/service/player/rpc.go
昔念 dffd6a63a6
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命令实现
跨服数据传输功能。
```
2026-03-04 01:30:40 +08:00

26 lines
442 B
Go

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("战斗结束")
}