今天在原有的netty代码上增加了一个对通道参数初始化的类,但是接受tcp数据的时候总是报错。
Netty引用计数器报错

这里继承了SimpleChannelInboundHandler类,并重写了channelRead0()方法,Netty引用计数器报错
但是每一次都会报netty计数器引用的错误,后来找相关博客,发现SimpleChannelInboundHandler会通过channelRead()来调用channelRead0()这个我们重写的方法
Netty引用计数器报错
问题就出在finally这里,每一次调用完channelRead()方法后,都会通过ReferenceCountUtil.release(msg)对引用计数器进行一次释放,然后我重写的channelRead0()对ByteBuf没有进行任何操作,自然这里的ByteBuf的引用计数器的值仍然为0,不会有任何变动。但是框架仍然对其进行了释放操作,所以就会出现以上的错误。
修改方法:
Netty引用计数器报错
这里我添加了对计数器的显示增长,就不会报错了。

相关文章:

  • 2021-09-01
  • 2021-08-08
  • 2021-08-30
  • 2021-07-27
  • 2021-10-10
  • 2021-10-05
  • 2021-12-30
  • 2021-08-24
猜你喜欢
  • 2022-12-23
  • 2022-03-02
  • 2021-12-30
  • 2021-05-14
  • 2021-06-05
  • 2021-08-08
  • 2021-06-25
相关资源
相似解决方案