decode执行完发又重新进入了decode,而且读到的数据也不对了,后来发现是又进入了一次decode,这是netty的一个坑就是decode没把输入的Bytebuf,读取完,就会一直进入decode;
解决办法就是:
如果你确实不需要读取完又想让pipline进入到handler里,你只需要跳过Bytebuf里的全部剩余可读数据;
代码如下:
ByteBuf buf......//这是框架传入的数据
buf.skipBytes(buf.readableBytes());
decode执行完发又重新进入了decode,而且读到的数据也不对了,后来发现是又进入了一次decode,这是netty的一个坑就是decode没把输入的Bytebuf,读取完,就会一直进入decode;
解决办法就是:
如果你确实不需要读取完又想让pipline进入到handler里,你只需要跳过Bytebuf里的全部剩余可读数据;
代码如下:
ByteBuf buf......//这是框架传入的数据
buf.skipBytes(buf.readableBytes());