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

Netty 奈蒂:ChannelHandlerContext.channel().write()和ChannelHandlerContext.write()之间有什么区别?,netty,Netty,我是内蒂的新手。当我浏览Netty项目的一些示例时,我发现ChannelHandlerContext.channel().write()和ChannelHandlerContext.write()都可以将响应数据写入客户端。那么它们之间有什么区别呢 谢谢大家! Channel#write和ChannelPipeline#从管道中的尾部处理程序上下文写入写入响应 // DefaultChannelPipeline # write public ChannelFuture write(Object

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

谢谢大家!

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

// DefaultChannelPipeline # write
public ChannelFuture write(Object msg) {
    return tail.write(msg);
}
ChannelHandlerContext#写入来自下一个处理程序上下文的响应

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

对于
ChannelHandlerContext#write()
,如果当前处理程序是最后一个处理程序,该怎么办?@Neo DefaultChannelPipeline具有头和尾上下文,如headContext