Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法告诉netty 4在重新启用之前停止从频道读取?
我希望客户向我发送他们的凭据,然后是一些数据。为了简化此协议,我不希望客户端等待 OK 或 ERROR,直到他们可以发送数据。也许有一个 DelayHandler 或类似的东西只会将所有接收到的缓冲区放入队列中,但我找不到类似的东西。
由于验证不是立即完成的,我将不得不阻止网络线程,这当然是一个坏主意。
使用 AUTO_READ ChannelOption,它允许您控制何时读取数据。
例如https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/proxy/HexDumpProxy.java
一种可能适合您的目的的方法是使用 a ReplayingDecoder:每次输入一大块输入时,您都会看到它,并且每次您可以选择说“不,输入不够;当更多输入时进来,再问我一次。” 整个输入将累积并重播给您,以提供最大的便利。
ReplayingDecoder