- 移除了 player.go 中的 SendPackBytes 方法 - 将 TomeeHeader 中的 CMDID 改为 CMD,类型从 uint32 改为 EnumCommandID - 删除了 controller 文件夹下的 service.go 和 login.go - 新增了 login 文件夹下的 PlayerLoginService.go - 优化了 main.go 中的 Start 函数,使用 controller.Recv 作为回调
90 lines
1.9 KiB
Go
90 lines
1.9 KiB
Go
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)
|
||
|
||
}
|