作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Netty channel ,当通过 channel 发送大量数据时,我注意到 Channel.channelInterestChanged
事件被触发,立即导致 Channel.isWritable()
返回 false。(还有另一个线程在执行 Channel.write()
并且该线程立即失败)。我的问题是:为什么 channel 的利益会发生变化?或者更确切地说是谁在改变它?我编写的代码(服务器或客户端)中没有任何内容会改变兴趣。
最佳答案
它会发生变化,因为您将更多数据写入 Channel,然后它可以在给定时间内传输。 Netty 为您排队数据,直到命中某个阈值,一旦命中,Channel.isWritable() 将返回 false。
如果要更改在 Channel.isWritable() 返回 false 之前允许排队/缓冲的字节数,则必须调整 writeBufferHighWaterMark 和 writeBufferLowWaterMark。
ServerBootstrap sb = ....
sb.setOption("writeBufferHighWaterMark", ..);
sb.setOption("writeBufferLowWaterMark", ..);
关于java - Netty 中的 Channel.channelInterestChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132637/
我正在使用 Netty channel ,当通过 channel 发送大量数据时,我注意到 Channel.channelInterestChanged事件被触发,立即导致 Channel.isWri
我是一名优秀的程序员,十分优秀!