主要构建块:

  1. Channel
  2. 回调
  3. Future
  4. 事件和ChannelHandler

这些构建块代表了不同类型的构造:资源、逻辑以及通知。应用程序将使用它们来访问网络以及流经网络的数据。

构件块详细内容

  1. Channel

Channel是JAVANIO的基本构造,它代表一个实体(如一个硬件设备、一个文件)的开放连接,如读操作和写操作。可以把Channel看作是传入和传出数据的载体,可以被打开或者被关闭,连接或者断开连接。

  1. 回调

一个回调其实就是一个方法,指向已经被提供给另外一个方法的方法的引用,这使得接收回调的方法可以在适当的时候调用前者。回调在广泛的编程场景中都有应用,而且也是在操作完成后通知相关方常见的方式之一。

  1. Future

提供了一种在操作完成时通知应用程序的方式。这个对象 可以看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。回调和Future是相互补充的机制,它们互相结合,构成了netty本身的关键构件块之一。

  1. 事件的ChannelHandler

netty使用不同的事件来通知我们状态的改变和操作的状态,这就使得我能够基于已经发生的时间来触发适当的动作处理对应的业务。
由入站数据或者相关的状态更改而触发的事件包括:

  • 连接已被激活或者连接失活
  • 数据读取
  • 用户事件
  • 错误事件

出站事件是未来将会触发的某个动作的操作结果,这些动作包括:

  • 打开或者关闭到远程节点的连接
  • 将数据写到或者冲刷到套接字

每个事件都可以被分发给ChannelHandler类中的某个实现方法。