diff --git a/build.bat b/build.bat index 416572af3..6239e3e1d 100644 --- a/build.bat +++ b/build.bat @@ -2,3 +2,4 @@ gf pack modules/base/resource modules/base/packed/packed.go -p modules/base/reso protoc --go_out=./ --go-grpc_out=./ manifest\proto\rpc.proto +gox -os "linux" -arch amd64 -output "logic" \ No newline at end of file diff --git a/logic/logic b/logic/logic index bc2593c67..cd4ba7b93 100644 Binary files a/logic/logic and b/logic/logic differ diff --git a/logic/service/player/wscodec.go b/logic/service/player/wscodec.go index a54713924..9d52e4afb 100644 --- a/logic/service/player/wscodec.go +++ b/logic/service/player/wscodec.go @@ -13,7 +13,6 @@ import ( ) type Conn struct { - MainConn gnet.Conn `struc:"[0]pad"` //TODO 不序列化,,序列化下面的作为blob存数据库 Mu sync.Mutex } @@ -40,6 +39,25 @@ type readWrite struct { io.Writer } +func CompareLeftBytes(array1, array2 []byte, leftBytesCount int) bool { + // 检查切片长度是否足够比较左边的字节 + if len(array1) < leftBytesCount || len(array2) < leftBytesCount { + return false + } + + // 提取左边的字节切片 + left1 := array1[:leftBytesCount] + left2 := array2[:leftBytesCount] + + // 比较左边的字节切片 + for i := 0; i < leftBytesCount; i++ { + if left1[i] != left2[i] { + return false + } + } + + return true +} func (w *WsCodec) Upgrade(c gnet.Conn) (ok bool, action gnet.Action) { if w.Upgraded { ok = true @@ -51,6 +69,10 @@ func (w *WsCodec) Upgrade(c gnet.Conn) (ok bool, action gnet.Action) { return } buf := &w.Buf + if CompareLeftBytes(buf.Bytes(), []byte{0, 0}, 2) { + w.Tcp = true + return + } tmpReader := bytes.NewReader(buf.Bytes()) oldLen := tmpReader.Len() logging.Infof("do Upgrade") @@ -65,7 +87,7 @@ func (w *WsCodec) Upgrade(c gnet.Conn) (ok bool, action gnet.Action) { logging.Errorf("conn[%v] [err=%v]", c.RemoteAddr().String(), err.Error()) action = gnet.Close //ok = true - w.Tcp = true + //w.Tcp = true return } buf.Next(skipN) diff --git a/modules/base/service/base_sys_user.go b/modules/base/service/base_sys_user.go index 66b90ffd5..8db758ec5 100644 --- a/modules/base/service/base_sys_user.go +++ b/modules/base/service/base_sys_user.go @@ -30,7 +30,7 @@ func (s *BaseSysUserService) Person(userId uint) (res gdb.Record, err error) { func (s *BaseSysUserService) GetSession(email string, password string) (res *model.BaseSysUser, err error) { m := cool.DBM(s.Model) - m.Where("email", email).Where("password=?", password).Where("status=?", 1).Scan(&res) + m.Where("email", email).Where("password", password).Where("status", 1).Scan(&res) if res == nil { err = gerror.New("账户或密码不正确~") return