Netty 通道上的操作与通道HandlerContext上的操作有什么区别

Netty 通道上的操作与通道HandlerContext上的操作有什么区别,netty,netty4,Netty,Netty4,我刚从Netty开始,我有一个关于Channel和ChannelHandlerContext 从我到目前为止所读的内容来看,Channel可以被看作是发生IO的底层套接字的抽象,而ChannelHandlerContext是用于在通道管道内的通道处理程序之间传递信息的对象 上述数据准确吗 因为现在我正在查看一个使用Netty和在线示例的代码库,我发现在Channel和ChannelHandlerContext上似乎都有相同的操作。例如: ctx.channel().write(); vs ctx

我刚从Netty开始,我有一个关于
Channel
ChannelHandlerContext

从我到目前为止所读的内容来看,
Channel
可以被看作是发生
IO
的底层套接字的抽象,而
ChannelHandlerContext
是用于在通道管道内的通道处理程序之间传递信息的对象

上述数据准确吗

因为现在我正在查看一个使用Netty和在线示例的代码库,我发现在
Channel
ChannelHandlerContext
上似乎都有相同的操作。例如:

ctx.channel().write();
vs
ctx.write();


问题是,为什么在通道
ChannelHandlerContext`上都定义了这些类似的操作?他们有什么不同吗?在哪些条件下,一个通道应该优先于另一个?

通道
*从管道的尾部开始,而
通道
*也从上下文所属的处理程序开始。通常在
ChannelHandler
中,您总是想使用
ChannelHandlerContext
,而在外部,您主要想使用
Channel

我认为第一句话中有一个输入错误
ctx.channel().alloc()
vs
ctx.alloc()