如果你的客户端Netty频道的写缓冲区填满了,服务器没有足够快地读取它,你会看到 OutOfMemoryError 在客户端。为避免这种情况,你必须停止写作 Channel.isWritable() 回报 false 。您将收到通知 channelInterestOpsChanged 事件发生时的状态 Channel.writable' changes. Then, you can check again if Channel.isWritable() returns 真实`并继续写作。
OutOfMemoryError
Channel.isWritable()
false
channelInterestOpsChanged
Channel.writable' changes. Then, you can check again if
returns
如果可以丢弃待处理的数据,我就不会打电话 Channel.write() 如果 Channel.isWritable() 回报 false 。
Channel.write()
您可以配置何时 Channel.writable 属性随着提供的水印属性而变化 NioSocketChannelConfig 。另外,请查看使用此技术的'discard'示例。
Channel.writable
NioSocketChannelConfig