Unverified Commit b71d3dae authored by 张亮's avatar 张亮 Committed by GitHub
Browse files

Merge pull request #619 from ma-xiao-guang-64/dev

修改包解析错误问题
parents 0573a99c e7ba3167
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -29,10 +29,18 @@ public final class MySQLPacketCodec extends ByteToMessageCodec<AbstractMySQLSent
            log.debug("Read from client: \n {}", ByteBufUtil.prettyHexDump(in));
        }
        int payloadLength = in.markReaderIndex().readMediumLE();
        if (readableBytes < payloadLength) {
        //mysql协议包头 内容长度3字节 序号1字节 内容n字节
        //readableBytes的长度为3+1+payloadLength
        if (readableBytes - 4 < payloadLength) {
            in.resetReaderIndex();
            return;
        }
        if (readableBytes - 4 > payloadLength) {
            //frame长度为1+payloadLength
            ByteBuf frame = in.readRetainedSlice(payloadLength + 1);
            out.add(frame);
            return;
        }
        out.add(in);
    }