refactor(rpc): 重构 RPC 客户端并添加重连机制

- 更新了 RPC 客户端的初始化和重连逻辑
- 添加了重连函数和最大重试次数的配置
- 优化了与服务器的连接管理
- 调整了端口相关的数据类型
This commit is contained in:
2025-07-17 05:20:30 +08:00
parent b6231f6eb9
commit bf72b91fc6
18 changed files with 131 additions and 46 deletions

View File

@@ -5,6 +5,7 @@ import (
"blazing/common/socket/handler"
"blazing/cool"
"blazing/logic/service"
"os"
"time"
"bytes"
@@ -26,7 +27,7 @@ type Controller struct {
RPCClient struct {
Kick func(uint32) error
RegisterLogic func(uint16) error
RegisterLogic func(uint16, uint16) error
}
}
@@ -46,7 +47,12 @@ func (h *Controller) QuitSelf(a int) error {
//entity.ConutPlayer()
fmt.Println("当前在线人数", entity.ConutPlayer())
<-time.After((1000))
if entity.ConutPlayer() <= 0 {
//执行退出逻辑
os.Exit(1)
}
<-time.After((50000))
}
}()
//service.KickPlayer(uint32(a))
@@ -67,7 +73,7 @@ func parseCmd[T any](a T, data []byte) T {
func init() { //默认初始化扫描
// 解析命令行参数
cool.Config.PortBL = gcmd.GetOpt("port", "1").Uint32()
cool.Config.PortBL = gcmd.GetOpt("port", "1").Uint16()
// 获取对象的反射值和类型
value := reflect.ValueOf(Maincontroller)