我刚开始使用 Netty,我有一个关于Channel
和的问题ChannelHandlerContext
从我目前所读到的内容来看,Channel
可以看作是对底层套接字的抽象IO
,而ChannelHandlerContext
它是一个用于在通道管道内的通道处理程序之间传递信息的对象。
以上准确吗?
因为现在我正在查看一些使用 Netty 和在线示例的代码库,所以我发现似乎在 onChannel
和 on 上都有相同的操作ChannelHandlerContext
。例如:
ctx.channel().write();
vs
ctx.write();
或者
ctx.channel().alloc()
vs
ctx.alloc()
问题是,为什么这些类似的操作都定义在 Channel and also on
ChannelHandlerContext 上?它们有什么不同吗?在什么条件下应该优先选择一个?