package main import ( "bytes" "encoding/hex" "fmt" _ "github.com/gogf/gf/contrib/nosql/redis/v2" "github.com/lunixbochs/struc" "github.com/panjf2000/gnet/v2" "blazing/common/socket" "blazing/common/socket/handler" _ "blazing/contrib/files/local" "blazing/cool" "blazing/logic/service/login" // Minio,按需启用 // _ "blazing/contrib/files/minio" // 阿里云OSS,按需启用 // _ "blazing/contrib/files/oss" // _ "blazing/contrib/drivers/sqlite" _ "blazing/contrib/drivers/mysql" //_ "blazing/contrib/drivers/pgsql" _ "blazing/modules" "github.com/gogf/gf/v2/os/gctx" "blazing/login/internal/cmd" ) func main() { go Start(cool.Config.Port) cmd.Main.Run(gctx.New()) } func Start(port string) { head := handler.NewTomeeHandler() head.Callback = recv socket.NewServer(socket.WithPort(port), socket.WithCORS(), socket.WithSocketHandler(head)).Start() } func recv(c gnet.Conn, data handler.TomeeHeader) { //fmt.Println(data) //t, _ := cool.CacheManager.Get(context.Background(), data.Data) // fmt.Println(t.String()) ret := login.NewCommendSvrInfo() lofin := login.NewServerInfo() lofin.OnlineID = 1 lofin.UserCnt = 77 lofin.IP = "127.0.0.1" lofin.Port = 27777 lofin.Friends = 1 ret.ServerList = append(ret.ServerList, *lofin) var trr bytes.Buffer t11, _ := struc.Sizeof(ret) ret.Handler = handler.TomeeHeader{ Len: uint32(t11), CMD: 105, Version: "7", UserID: 1, // Data: bytt.Bytes(), } err := struc.Pack(&trr, ret) fmt.Println(err) //0000003f3700000001000000000000006900000000 //0000003f37000000690000000100000000 //0000003F3700000069000186A600000000 fmt.Println(hex.EncodeToString(trr.Bytes())) // c.Write(trr1.Bytes()) c.Write(trr.Bytes()) // 处理接收到的TomeeHeader数据 // fmt.Println("收到数据:", data) //processWithReflection(data) }