package main import ( "bytes" "encoding/binary" "github.com/golang/protobuf/proto" "net" "pro2d/protos/pb" "pro2d/src/components/logger" net2 "pro2d/src/components/net" ) func main() { head := &net2.Head{ Length: 0, Cmd: int32(pb.ProtoCode_LoginRpc), ErrCode: 0, PreField: 0, } loginReq := &pb.LoginReq{ Uid: "141815055745814528", Device: "123123", } l, _ :=proto.Marshal(loginReq) b := net2.MsgPkg{ Head: head, Body: l, } head.Length = int32(16 + len(b.Body)) buf := &bytes.Buffer{} err := binary.Write(buf, binary.BigEndian, head) if err != nil { logger.Error("err: %v, head: %v", err, head) return } logger.Debug("head: %v", head) err = binary.Write(buf, binary.BigEndian, b.Body) if err != nil { logger.Error("err: %v, msg: %v", err, b.Body) return } client, err := net.Dial("tcp", "localhost:8849") if err != nil { logger.Error(err) return } client.Write(buf.Bytes()) }