通道上的 Netty channel().read() 当前没有任何数据
Netty channel().read() on channel without any data currently present
我试图弄清楚如何在 netty 中实现背压,我发现 autoread=true
并使用显式 ctx.channel().read()
可能有效,但我不确定它是如何工作的并且无法找到更多详情。
具体来说,我想知道如果调用 read()
会发生什么。 netty 是否会尝试从底层通道读取语义(假设是 websocket 连接)?如果没有数据可供读取怎么办?不读取任何数据,读取会成功吗?或者我是否可以保证如果我调用一次读取,它会一直尝试读取直到有一些数据可用?
谢谢
read()
基本上只是告诉 Channel
在有东西准备好时读取下一个数据块,这意味着直接读取或稍后读取。所以是的,你可以保证,如果你调用 read()
它会在某个时候读取。
我试图弄清楚如何在 netty 中实现背压,我发现 autoread=true
并使用显式 ctx.channel().read()
可能有效,但我不确定它是如何工作的并且无法找到更多详情。
具体来说,我想知道如果调用 read()
会发生什么。 netty 是否会尝试从底层通道读取语义(假设是 websocket 连接)?如果没有数据可供读取怎么办?不读取任何数据,读取会成功吗?或者我是否可以保证如果我调用一次读取,它会一直尝试读取直到有一些数据可用?
谢谢
read()
基本上只是告诉 Channel
在有东西准备好时读取下一个数据块,这意味着直接读取或稍后读取。所以是的,你可以保证,如果你调用 read()
它会在某个时候读取。