netty
Lee_Suoer
这个作者很懒,什么都没留下…
展开
-
netty (三) channel & pipeline
channel:channel关系到一个网络socket或者组件的i/o操作的能力。比如读写,连接,绑定channel向user提供: channel的当前状态,比如是否打开,是否连接。 channel的配置参数,比如接收数据的buffer大小。 channel支持的读写操作等,例如读写,连接,绑定 和...原创 2018-12-14 11:30:28 · 377 阅读 · 0 评论 -
netty (一) eventLoopGroup
MultithreadEventLoopGroup的实现,适用于基于channel的nio selectorEventLoopGroup的子类,负责通过next()方法提供EventExecutor,还负责处理他们的生命周期,允许将他们关闭。EventExecutor一个执行器,提供了管理终止的方法和针对一个或多个异步执行任务的future对象来跟踪处理过程。E...原创 2018-12-09 18:03:32 · 156 阅读 · 0 评论 -
netty (五) bytebuf
是一个0个或者多个字节,允许随机访问和顺序访问。这个接口为一个或者多个byte数组和nio buffer提供了一个抽象的视图。推荐使用unpooled的辅助方法来创建一个新的buffer,而不是去调用它每个实现类的构造方法。像普通的原生的byte数组一样,butebuf的索引也是从0开始。第一个元素索引是0,最后一个是capacity-1使用案例:bytebuf...原创 2018-12-21 12:53:35 · 238 阅读 · 0 评论 -
netty (四) serverBootStrap启动
之前的操作都是在为serverbootstrap进行配置,完成内部属性的初始化。在绑定到端口的时候才开始启动。先对内部的属性进行校验,然后绑定本机地址。这个是具体启动流程的代码:分为两步,一个是绑定,一个是注册private ChannelFuture doBind(final SocketAddress localAddress) { 这里开始绑定和注册 f...原创 2018-12-17 12:08:34 · 246 阅读 · 0 评论 -
netty (二) serverBootstrap 和 channelFuture
这个类是Bootstrap的子类,更容易的来启动serverchannel设置两个Eventloopgroup,(父子或者work/boss),用来处理severchannel和channel的所有事件和io。使用给定的channelClass类型来创建channel(一般指boss的eventloopgroup)。如果channel的实现有无参的构造方法也可以使用Channe...原创 2018-12-12 12:19:23 · 428 阅读 · 0 评论 -
netty 的编解码器
ByteToMessageDecoder这是一个入栈处理器,可以将一个流式的字节码转换为bytebuf或者其他的消息格式。上图实例就是从一个输入的bytebuf中读取所有的字节并重新创建一个新的bytebuf一般情况下,这种处理器应该放在pipeline的前边,例如 DelimiterBasedFrameDecoder, FixedLengthFrameDecoder, Len...原创 2019-01-05 23:20:41 · 350 阅读 · 0 评论