- 优化了 Recv 函数中的参数处理方式 - 修改了 GetServer 和 Login 函数的返回类型和逻辑 - 调整了 LoginSidInfo 和 SidInfo 结构体的方法 - 移除了未使用的 Blazingservice 接口
44 lines
3.7 KiB
Go
44 lines
3.7 KiB
Go
package login
|
||
|
||
import (
|
||
"blazing/common/data/share"
|
||
"blazing/common/socket/handler"
|
||
"encoding/hex"
|
||
"fmt"
|
||
)
|
||
|
||
// LoginSidInfo 登录携带的凭证结构体
|
||
type LoginSidInfo struct { //这里直接使用组合来实现将传入的原始头部数据和结构体参数序列化
|
||
Head handler.TomeeHeader `cmd:"1001" struc:"[0]pad"` //玩家登录
|
||
|
||
Sid []byte `struc:"[16]byte"` // 登录会话ID,固定长度16字节
|
||
// NotLogin uint32 `error="10001"|struc:"[0]pad"` //返回错误码 ,不序列化,仅作为错误码
|
||
// ErrorPassWord uint32 `struc:"[0]pad"`
|
||
}
|
||
|
||
func (s *LoginSidInfo) Init() []byte { //默认返回方法
|
||
t1, _ := hex.DecodeString("0000045D37000003E9000186A600000000000186A6683F89CF6E69656F0000000000000000000000000008000F00000000000000000000000000000000000000000000000000000001000001DB0000018B000000000000A8C000000000000000000000000000000000000000080001388000000001000000017FFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000000000000000000000000000000000064000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001FFFFFFFF000000004E4F4E4F0000000000000000000000000000000000000001000000010000000100000001000000010000000100000001000000000003030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030000000100000064000000000000000000000000000000000000001F000000000000006400000000000093F4000093F4000000D5000000F7000000AD00000088000000920000008C0000009C00000000000000000000000000000000000000000000000000000004000027900000001B00004E6200000014000028380000002800004E3E0000002368493DC60000000000000000000000000000000000000000000100000000000000A937000007D1000186A600000000000186A66E69656F00000000000000000000000000000000000000000000000F0000000000000000000001DB0000018B0000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF0000000000000001000000000000000000000000000000000000000000000000000000000000000000000000")
|
||
//t1 = t1[17:]
|
||
fmt.Println(t1[:40])
|
||
s.Head.Version = "7"
|
||
s.Head.UserID = 99942
|
||
s.Head.Result = 0
|
||
//s //return data.Head.Pack(t1[17:])[:40]
|
||
s.Head.Set(t1[17:]) //返回传参
|
||
return t1[:40]
|
||
|
||
}
|
||
func (l *LoginSidInfo) CheakSession() bool {
|
||
// tt, _ := cool.CacheManager.Keys(context.Background())
|
||
//g.Dump(tt)
|
||
t1 := hex.EncodeToString(l.Sid)
|
||
|
||
t, err := share.ShareManager.GetSession(t1)
|
||
if err != nil {
|
||
return false
|
||
}
|
||
fmt.Println("后端获取", t1, t, err)
|
||
|
||
return t == l.Head.UserID
|
||
}
|