diff --git a/binary/reader.go b/binary/reader.go index 6a616930..e4a55759 100644 --- a/binary/reader.go +++ b/binary/reader.go @@ -2,6 +2,7 @@ package binary import ( "bytes" + "io" "net" ) @@ -137,14 +138,15 @@ func (r *NetworkReader) ReadByte() (byte, error) { func (r *NetworkReader) ReadBytes(len int) ([]byte, error) { buf := make([]byte, len) - for i := 0; i < len; i++ { - b, err := r.ReadByte() - if err != nil { - return nil, err - } - buf[i] = b - } - return buf, nil + _, err := io.ReadFull(r.conn, buf) + //for i := 0; i < len; i++ { + // b, err := r.ReadByte() + // if err != nil { + // return nil, err + // } + // buf[i] = b + //} + return buf, err } func (r *NetworkReader) ReadInt32() (int32, error) {