Netty中ByteToMessageDecoder中的decode方法执行多次的问题及解决办法

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

ByteBuf buf......//这是框架传入的数据
buf.skipBytes(buf.readableBytes());

猜你喜欢

转载自blog.csdn.net/lwb314/article/details/126056405