1

有没有办法告诉netty 4在重新启用之前停止从频道读取?

我希望客户向我发送他们的凭据,然后是一些数据。为了简化此协议,我不希望客户端等待 OK 或 ERROR,直到他们可以发送数据。也许有一个 DelayHandler 或类似的东西只会将所有接收到的缓冲区放入队列中,但我找不到类似的东西。

由于验证不是立即完成的,我将不得不阻止网络线程,这当然是一个坏主意。

4

2 回答 2

2

使用 AUTO_READ ChannelOption,它允许您控制何时读取数据。

例如https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/proxy/HexDumpProxy.java

于 2013-09-07T02:01:57.103 回答
0

一种可能适合您的目的的方法是使用 a ReplayingDecoder:每次输入一大块输入时,您都会看到它,并且每次您可以选择说“不,输入不够;当更多输入时进来,再问我一次。” 整个输入将累积并重播给您,以提供最大的便利。

于 2013-08-19T12:05:29.097 回答