zoukankan      html  css  js  c++  java
  • netty关键字

    netty

      生成NioEventLoopGroup两个实例:bossGroup接收客户端传过来的请求,workerGroup处理后续操作

      bootstrap为netty程序启动添加组件

      nioserversocketchannel管理serversocketchannel实例

      channelhander:设置业务职责链,通过多个channelhander串联而成(业务处理

    自定义一个类 HttpServerInitializer 继承 ChannelInitializer 并实现其中的 initChannel方法

    ChannelPipeline pipeline = sc.pipeline();
    ChannelPipeline:新的连接被接受后创建的channel分配处

    buffer

      本质读写的内存,三个属性:capacity、position和limit

      capacity:容器大小

      position:读写的起始位置

      limit:能用的空间大小

      buffer分配:allocate方法分配初始值

      写数据到buffer的两种方式

      1、int bytes = channel.read(buf);从channel中的数据读取到buf中

      2、buf.put(byte);将数据通过put方法写入到buf

      读数据

      1、int bytes = channel.write(buf); 将buffer中的数据读取到channel

      2、byte bt = buf.get() 冲buf中读取一个byte

      读写模式的切换

      flip方法:调用flip方法后写模式切换成读模式,position=0,limit为原来的position

      rewind:Buffer.rewind()吧position=0,limit不变

      clear:position=0 limit=capacity但是buff并未清

      compact:将所有未读数据拷贝到起始处,position设置成未读元素的后边,limit=capacity

    selector(多路复用器)

    selector,channel相互配合使用。channel注册在selector上

    selector监听channel四种状态

    connect:某个客户端连接成功

    accept:准备好进行连接

    read:可读

    write:可写

      

    ------------恢复内容结束------------

  • 相关阅读:
    Codeforces610b
    Codeforces597A
    Timus1014(贪心算法)
    一般贪心
    优先队列问题(此题来源哈尔滨理工大学VJ)
    POJ2551Dungeon Master
    LightOJ 1140: How Many Zeroes? (数位DP)
    HDU 2089:不要62(数位DP)
    HDU 4722:Good Numbers(数位DP)
    HDU 3709: Balanced Number (数位DP)
  • 原文地址:https://www.cnblogs.com/tflike/p/13748344.html
Copyright © 2011-2022 走看看