netty中的概念

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 Netty可以帮助我们快速搭建服务端与客户端的Socket网络通信库,他是对JDK的NIO的封装...
    JasonYeyeye阅读 622评论 0 1
  • 在学习netty源码之前,应该对netty的基本用法有所了解,由于netty大多数时候用于开发服务器端程序,因此下...
    史圣杰阅读 620评论 0 2
  • 公司自研rpc框架,底层网络通信框架为netty;作为it小白,有必要学习rpc框架及对应的系统底层网络通信框架。...
    未名枯草阅读 752评论 0 1
  • 一、Netty简介   Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持...
    无剑_君阅读 1,507评论 1 1
  • 1-netty源码分析之Server 看netty源码之后进行总结的第一篇笔记,无非帮助自己对于看代码的一个总结,...
    致虑阅读 869评论 0 5