任何人都可以解释 netty ChannelHandlerContext flush() 吗?

J.D*_*Doe -1 java flush netty

有人可以解释一下netty方法究竟是ChannelHandlerContext flush()做什么的吗?它会立即通过网络发送所有消息,从而有效地绕过管道中的任何处理程序停止任何定义的处理吗?

Riy*_*eed 6

Netty的行动书中有明确的定义:

write

将消息写入 Channel 。这将调用write(ChannelandlerContext, Object msg, ChannelPromise)在下一次ChannelOutboundHandlerChannelPipeline

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

flush

刷新 Channel 的所有挂起写入。这将调用flush(ChannelHandlerContext)随后ChannelOutboundHandlerChannelPipeline