Netty:ChannelHandlerContext.channel()。write()和ChannelHandlerContext.write()之间有什么区别?

时间:2015-09-11 03:01:46

标签: netty

我是Netty的新手。在我浏览Netty项目的一些示例时,我发现ChannelHandlerContext.channel().write()ChannelHandlerContext.write()都可以将响应数据写入客户端。那么它们之间有什么区别呢?

谢谢!

1 个答案:

答案 0 :(得分:3)

Channel#write和ChannelPipeline#从管道中的尾部处理程序上下文写入写入响应。

// DefaultChannelPipeline # write
public ChannelFuture write(Object msg) {
    return tail.write(msg);
}

ChannelHandlerContext#write从下一个处理程序上下文写入响应。

// AbstractChannelHandlerContext # write
next.invoker().invokeWrite(next, msg, promise);