谁能解释netty ChannelHandlerContext flush()?

时间:2018-10-13 14:42:04

标签: java netty flush

有人可以解释netty方法ChannelHandlerContext flush()的确切作用吗?它会立即通过网络发送所有消息,从而有效绕过管道中的任何处理程序,从而停止任何已定义的处理吗?

2 个答案:

答案 0 :(得分:3)

Netty in Action书中的定义更明确:

write

将消息写入Channel。这将在write(ChannelandlerContext, Object msg, ChannelPromise)中的下一个ChannelOutboundHandler上调用ChannelPipeline

注意:这不会将消息写入底层Socket,而只是 排队。要将其写入套接字,请调用flush()writeAndFlush()

flush

清除Channel的所有未决写入。这将在flush(ChannelHandlerContext

中的下一个ChannelOutboundHandler上调用ChannelPipeline

答案 1 :(得分:1)

从Netty 4.1文档中:

flush()
  

请求通过此ChannelOutboundInvoker刷新所有未决消息。

您可以在此处找到更多示例:Code Examples for ChannelHandlerContext.flush()