我正在使用netty来开发我的服务器。 我正在寻找为通道设置setInterestOps。 在netty 3中,Channel类中有一个方法调用setInterestOps。 但在netty 4中我找不到它。 谁能告诉我它在哪里?
谢谢
答案 0 :(得分:2)
Channel.setInterestOps()
用于暂停或恢复Netty Channel
的读取操作。它的名称和机制是不必要的低级别,因此我们改变了处理暂停和恢复入站流量的方式。
首先,我们添加了一个名为read()
的新出站操作。调用read()
时,Netty会读入一次入站流量,并且会触发至少一个channelRead()
事件和一个channelReadComplete()
事件。通常,您可以通过在ctx.read()
中调用channelReadComplete()
继续阅读。
但是,由于必须为每个ctx.read()
调用channelReadComplete()
并不是很有趣,因此Netty有一个名为autoRead
的选项,默认情况下会启用该选项。启用autoRead
后,Netty会自动触发每read()
次channelReadComplete()
次操作。
因此,如果要暂停入站流量,您只需关闭autoRead
选项即可。要恢复,请将其重新打开。
答案 1 :(得分:1)
使用Channel.config()。setAutoRead(true / false);