Unverified Commit aaec3783 authored by ma-xiao-guang-64's avatar ma-xiao-guang-64 Committed by GitHub
Browse files

修改包解析错误问题

修改包解析错误问题
parent b3ae2236
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -29,12 +29,15 @@ 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 > payloadLength) {
            ByteBuf frame = in.readRetainedSlice(payloadLength);
        if (readableBytes - 4 > payloadLength) {
            //frame长度为1+payloadLength
            ByteBuf frame = in.readRetainedSlice(payloadLength + 1);
            out.add(frame);
            return;
        }