美文网首页
netty中的概念

netty中的概念

作者: xhrg | 来源:发表于2018-12-20 19:27 被阅读0次

    Channel

    Channel是netty中的通讯管道,类似于水管流水。其中一端 是client,一端是server,channel写入数据会从一端到一端。而响应则会在回调函数中从channel中读取到数据。

    NioServerSocketChannel

    这里的NioServerSocketChannel其实就是对应于服务端创建的Channel,创建该NioServerSocketChannel的时候,会在其中创建ChannelPipeline(DefaultChannelPipeline).

    NioSocketChannel

    ChannelPipeline

    每次新建一个Channel都会和一个ChannelPipeline绑定,这种绑定是固定的,无法分离的。
    ChannelPipeline是一个双向链表,双向链表中主要是可以addFirst和addLast,ChannelPipeline中放的是ChannelHandler,
    ChannelHandler类似于水流的一个闸门,水流会经过,这个时候,可以处理数据。ChannelHandler接口下有很多更细化的接口

    ServerBootstrap|Bootstrap

    简单的启动辅助类,作用是组合一些组件

    NioEventLoopGroup

    是一个线程池,主要是存放NioEventLoop

    NioEventLoop

    是一个单线程的事件触发器,该类继承了SingleThreadEventLoop.
    在ServerBootstrap(AbstractBootstrap)中的initAndRegister会创建Channel并且关联NioEventLoop,是连接这些组件的核心。

    相关文章

      网友评论

          本文标题:netty中的概念

          本文链接:https://www.haomeiwen.com/subject/wijukqtx.html