码迷,mamicode.com
首页 > 其他好文 > 详细

几个常用接口

时间:2020-03-19 21:58:11      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:line   api   read   event   context   socket   开始   oca   local   

一. Channel接口

1. 基本的IO操作:bind(),connect(),read(),write();

2. Channel接口提供的API降低了直接使用Socket类的复杂性;

3. 拥有许多预定义的,专门化实现的类:EmbeddedChannel,LocalServiceChannel,NioDatagramChannel,NioSctpChannel,NioSocketChannel等;

二. EventLoop接口

1. 定义了Netty的核心抽象,用于处理连接的生命周期中所发生的事件;

2. 一个EventLoopGroup包含一个或多个EventLoop;

3. 一个EventLoop在它的声明周期只和一个Thread绑定;

4. 所有由EventLoop处理的IO事件都将在它专有的Thread上被处理;

5. 一个Channel在它的声明周期内只注册一个EventLoop;

6. 一个EventLoop可能会被分配给一个或多个Channel;

7. 一个给定Channel的IO操作都是由相同的Thread执行的,消除了对同步的需要;

三. ChannelFuture接口

1. Netty中所有的IO操作都是异步的;

2. ChannelFuture接口的addListener()方法注册一个ChannelFutureListener,以便在操作完成时得到通知;

3. 所有属于同一个Channel的操作都被保证以被调用的顺序执行;

四. ChannelHandler接口

1. 充当了所有处理入站和出站数据的应用程序逻辑的容器;

2. ChannelHandler的方法是由网络事件触发的;

五. ChannelPipeline接口

1. ChannelPipeline为ChannelHandler链提供了容器,并定义了用于在该链上传播入站和出站事件流的API;

2. 如果一个事件被读取,会从ChannelPipeline的头部开始流动,传递给第一个ChannelHandler,之后按照被添加的顺序传递给下一个ChannelHandler,直到ChannelPipeline尾部;

3. 当ChannelHandler被添加到ChannelPipeline时会分配一个ChannelHandlerContext,其代表了ChannelHandler和ChannelPipeline的绑定,所以Netty能确保数据只在具有相同定向类型的两个ChannelHandler之间传递;

几个常用接口

标签:line   api   read   event   context   socket   开始   oca   local   

原文地址:https://www.cnblogs.com/bbbbs/p/12527128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!