如果 ChannelOutboundBuffer 已满,如何干净地关闭 Netty 中的连接?

How to cleanly close connection in Netty if ChannelOutboundBuffer is filled?

在 Netty 中调用 channel.disconnect() 后 4.x 我遇到了以下异常:

io.netty.channel.StacklessClosedChannelException: null
        at io.netty.channel.AbstractChannel.close(ChannelPromise)(Unknown Source) ~[netty-transport-4.1.53.Final.jar:4.1.53.Final]

它们可能是因为 ChannelOutboundBuffer 不为空而创建的。

如何在 close() 之前清洁 ChannelOutboundBuffer

如何避免它们或者我应该抓住它们并忽略它们(如果没有办法避免它们)?

close() 应该“清理”ChannelOutboundBuffer,这意味着它将使所有仍然坐在那里并带有 ClosedChannelException 的写入失败。这听起来很正常。