channelFuture
来获取操作执行的状态 , 注册监听函数来执行完成后的操作 。常见的操作:
- 通过 isDone 方法来判断当前操作是否完成 。- 通过 isSuccess 方法来判断已完成的当前操作是否成功 。- 通过 getCause 方法来获取已完成的当前操作失败的原因 。- 通过 isCancelled 方法来判断已完成的当前操作是否被取消 。- 通过 addListener 方法来注册监听器 , 当操作已完成(isDone) , 将会通知指定的监听器 。小结:相比于传统阻塞I/O , 执行I/O操作后线程会被阻塞住 , 直到操作完成 。异步处理的好处是不会造成线程阻塞 , 线程在I/O操作期间可以执行别的程序 , 在高并发情形下会 更稳定和更高的吞吐量 。
Netty 核心模块组件ServerBootstrap、BootstrapBootstrap意思是引导 , 一个Netty应用通常由一个Bootstrap开始 ,
主要作用是配置整个Netty程序 , 串联各个组件
, Netty中Bootstrap类是客户端程序的启动引导类 , ServerBootstrap是服务器启动引导类 。常用方法:
- public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup):用于服务器端 , 用来设置两个EventLoop- public B group(EventLoopGroup group):该方法用于客户端 , 用来设置一个EventLoop- public B channel(Class<? extends C> channelClass):该方法用来设置一个服务器端的通道实现- public B option(ChannelOption option, T value):用来给ServerChannel添加配置- public ServerBootstrap childOption(ChannelOption childOption, T value):用来给接收的通道添加配置- public ServerBootstrap childHandler(ChannelHandler childHandler):业务处理类 , 自定义handler- public ChannelFuture bind(int inetPort):用于服务器端 , 用来设置占用的端口号- public ChannelFuture connect(String inetHost, int inetPort):用于客户端 , 用来连接服务器端Future、ChannelFutureNetty中所有的IO操作都是异步的 , 不能立刻得知消息是否被正确处理 。但是可以过一会等它执行完成或者直接注册一个监听 , 具体的实现就是通过Future和ChannelFuture , 他们可以
注册一个监听 , 当操作执行成功或失败时监听会自动触发注册的监听事件
。常用的方法:
- Channel channel():返回当前正在进行IO操作的通道- ChannelFuture sync():等待异步操作执行完毕Channel
Netty网络通信的组件 , 能够用于执行网络 I/O 操作
。通过 Channel 可获得当前网络连接的通道的状态 。通过 Channel 可获得 网络连接的配置参数 (例如接收缓冲区大小) 。Channel 提供异步的网络 I/O 操作(如建立连接 , 读写 , 绑定端口) , 异步调用意味着任何 I/O 调用都将立即返回 , 并且不保证在调用结束时所请求的 I/O 操作已完成
调用立即返回一个 ChannelFuture
实例 , 通过注册监听器到ChannelFuture
上 , 可以 I/O 操作成功、失败或取消时回调通知调用方 。不同协议、不同的阻塞类型的连接都有不同的 Channel 类型与之对应 , 常用的 Channel 类型:- NioSocketChannel , 异步的客户端 TCP Socket 连接 。- NioServerSocketChannel , 异步的服务器端 TCP Socket 连接 。- NioDatagramChannel , 异步的 UDP 连接 。- NioSctpChannel , 异步的客户端 Sctp 连接 。- NioSctpServerChannel , 异步的 Sctp 服务器端连接 , 这些通道涵盖了 UDP 和 TCP 网络 IO 以及文件 IO 。
经验总结扩展阅读
- 高三物理学习方法技巧是什么 有哪些窍门
- 给朋友的腊八节祝福语
- 腊八节经典祝福文案15篇
- 腊八节祝福语集合
- 腊八节最暖心祝福语2023
- 国庆节姐姐祝福语2023
- 国庆节祝福姐姐的祝福语
- 银行国庆节短信祝福
- 2023国庆节祝福语
- 2023祝朋友七夕快乐的祝福语