Netty核心组件之一
1 Netty核心组件
1.Channel
IO操作的一种连接,实体与实体之间的连接,实体可以是硬件,文件,网络套接字,或者是程序组件Channel 是 Netty 网络操作抽象类,它除了包括基本的 I/O 操作,如 bind、connect、read、write 之外,还包括了 Netty 框架相关的一些功能,如获取该 Channe l的 EventLoop。(这个 Channel 我们可以理解为 Socket 连接,它负责基本的 IO 操作,例如:bind(),connect(),read(),write() 等等。简单的说,Channel 就是代表连接,实体之间的连接,程序之间的连接,文件之间的连接,设备之间的连接。同时它也是数据入栈和出栈的载体)。
生命周期
channelRegistered:channel注册到一个EventLoop。
channelActive:channel变为活跃状态,可以接收和发送数据了。
channelInactive:处于非活跃状态,没有连接到远程主机。
channelUnregistered:channel已创建但未注册到一个EventLoop。
与流的区别
1、Channel可以同时支持读和写,而Stream只能单向的读或写。
2、Channel支持异步读写,Stream通常只支持同步。
3、Channel总是读向Buffer,或者写自Buffer。
2.ChannelHandler