Netty学习笔记

一时失言乱红尘 2023-10-10 13:12 91阅读 0赞

netty学习笔记

  • 1.BIO NIO 和AIO
    • 1.1 BIO
    • 1.2 NIO

1.BIO NIO 和AIO

1.1 BIO

1.2 NIO

  1. selector选择器 channel 通道 Buffer 缓冲区
  2. ServiceSocketChannel 代表服务端
    当客户端跟服务端建立socket连接时 服务端ServiceSocketChannel (ServiceSocketChannelImpl)会为客户端通道建 SocketChannel(SocketChannelImpl)
    在这里插入图片描述
  3. 常用的 Channel 类有:FileChannel、DatagramChannel、ServerSocketChannel 和 SocketChannel。【ServerSocketChanne 类似 ServerSocket、SocketChannel 类似 Socket】
  4. RandomAccessFile类—类似于输入输出流 可以进行设定读写操作
  5. NIO还可以使用多个buffer进行读写操作
  6. NIO逻辑:
    首先会新建ServerSocketChannel 绑定地址 设置非阻塞
    当有客户端连接时会ServerSocketChannel 会创建SocketChannel
    然后我们将SocketChannel通过register(Selector,qos)方法注册到Selector 并返回一个selectKey
    同时 Selector会监听select()方法 返回有事件发生的selectKey 集合
    接着我们可以通过selectkey中channel方法得到客户端socketChannel
    最后通过socketChannel完成业务

发表评论

表情:
评论列表 (有 0 条评论,91人围观)

还没有评论,来说两句吧...

相关阅读

    相关 netty学习笔记

    Netty与原生Nio的区别 原生的nio,只简单封闭了ByteBuffer以及Channel,也就是网络IO操作以及对这些字节的缓存,字节的编码与解码、粘包与拆包

    相关 netty学习笔记

    netty是基于nio(非阻塞io)的高性能网络通信框架 什么是阻塞 ? 一直等待在那里,知道有返回值才会处理 例如: i. Socket socket = serve

    相关 netty学习笔记

    Netty架构,特性、模块组件、线程模型(Boss线程、worker线程)以及源码、 netty架构图: ![70][] netty架构五部分: Extensible