refactor(common): 重构 Pack 函数并优化数据处理
- 重构了 Pack 函数,支持处理不同类型的 data 参数 - 优化了数据打包过程,使用反射处理结构体和切片 - 修改了 TomeeHeader 结构体,使用 EnumCommandID 类型 - 调整了 login 相关的结构体定义 - 优化了 main 函数中的数据处理逻辑
This commit is contained in:
@@ -52,16 +52,19 @@ func init() { //默认初始化扫描
|
||||
// 获取方法值
|
||||
methodValue := value.MethodByName(method.Name)
|
||||
methodValue.Type().NumIn()
|
||||
var func_cmd uint32
|
||||
var func_cmd cmd.EnumCommandID
|
||||
//params := []reflect.Value{}
|
||||
//fmt.Println(methodValue.Type().NumIn())
|
||||
for i := 0; i < methodValue.Type().NumIn(); i++ {
|
||||
// for i := 0; i < methodValue.Type().NumIn(); i++ {
|
||||
|
||||
ttt := methodValue.Type().In(i)
|
||||
// ttt := methodValue.Type().In(i)
|
||||
|
||||
func_cmd = gconv.Uint32(getcmd(ttt))
|
||||
// func_cmd = getcmd(ttt)
|
||||
|
||||
}
|
||||
// }
|
||||
// /ttt := methodValue.Type().In(0)
|
||||
|
||||
func_cmd = getcmd(methodValue.Type().In(0))
|
||||
if !cmd.Isexist(cmd.CommandID, cmd.EnumCommandID(func_cmd)) {
|
||||
fmt.Println("ID方法存在cmd未注册", func_cmd)
|
||||
|
||||
@@ -150,7 +153,9 @@ func Recv(c gnet.Conn, data handler.TomeeHeader) {
|
||||
}
|
||||
|
||||
ret := cmdlister.Call(params)
|
||||
switch ret[0].Interface().(type) {
|
||||
|
||||
//core.Pack(c, cmd cmd.EnumCommandID, data any, iserror uint32)
|
||||
switch ret[0].Interface().(type) { //TODO 待修改
|
||||
case []byte: //原始包
|
||||
|
||||
c.Write(ret[0].Interface().([]byte)) //这里直接发送原始包,应该是已经拼接过的原始包,通常不同使用
|
||||
|
||||
Reference in New Issue
Block a user