Netty 是一款异步的事件驱动的 网络 应用程序框架,支持快速地开发可维护的 高性能 的面向协议的服务器
和客户端。
Netty特性总结:
1:Netty 的核心组件
Netty 的主要构件块:
- Channel ;
- 回调;
- Future ;
- 事件和 ChannelHandler 。
1.1 Channel
Channel 是 Java NIO 的一个基本构造。它代表一个到实体(如一个硬件设备、一个文件、一个网络套接字或者一个能够执
行一个或者多个不同的I/O操作的程序组件)的开放连接,如读操作和写操作
1.2 回调
Netty 在内部使用了回调来处理事件;当一个回调被触发时,相关的事件可以被一个interface-ChannelHandler 的实现处理。
当一个新的连接已经被建立时,ChannelHandler 的 channelActive()回调方法将会被调用,并将打印出一条信息。
1.3 Future
Future 提供了另一种在操作完成时通知应用程序的方式。
首先,要连接到远程节点上。然后,要注册一个新的ChannelFutureListener 到对 connect()方法的调用所返回的 ChannelFuture 上。当该监听器被通知连接已经建立的时候,要检查对应的状态 。如果该操作是成功的,那么将数据写到该 Channel。否则,要从 ChannelFuture 中检索对应的 Throwable。
1.4 事件和 ChannelHandler
Netty 使用不同的事件来通知我们状态的改变或者是操作的状态。