当前位置: 首页 > wzjs >正文

河南县wap网站建设公司如何做授权网站

河南县wap网站建设公司,如何做授权网站,怎么在百度上创建网站,个人做网站好吗EventLoopGroup基本认识 我们需要了解的 EventLoopGroup, Netty对EventLoopGroup做了很多的扩展实现,下图是他的家族图谱: 我们上一节课使用的案例,使用的是NioEventLoopGroup,他是NIO的实现,可以看出来他是Multithre…

EventLoopGroup基本认识

我们需要了解的 EventLoopGroup, Netty对EventLoopGroup做了很多的扩展实现,下图是他的家族图谱:

我们上一节课使用的案例,使用的是NioEventLoopGroup,他是NIO的实现,可以看出来他是MultithreadEventLoopGroup的子类,从名字上可以看出来,NioEventLoopGroup是一个多线程事件循环组,这里你可以把它看作是一个线程池,内部存在多个线程(NioEventLoop),每一个客户端连接的SocketChannel都对应一个线程(NioEventLoop)!

我们上面一直再说NioEventLoop, 我们基于上图可以看出来,他是SingleThreadEventLoop的子类,从名字上也能看出来,他是一个单线程的执行器!我们可以看到,他的父接口事实上也是继承与EventLoopGroup, 也就是说,虽然NIoEventLoop是一个单线程事件循环,但是我们基于接口,也可以把他看作为一个线程池,只不过这个线程池内部只有一个线程!

\## Netty的通讯通道

我们需要了解的Netty中的管道种类,这里我们重点分析NIO的实现方式:

我们可以看到,Netty的Socket通讯管道的主要实现方式有两种,NioServerSocketChannelNioSocketChannel, 这两种实现是Netty对于服务端通道,与客户端通道的不同实现,我们在开发Netty的服务端与客户端的时候,会指定使用管道的类型! 这里面有一个比较重要的点,即NioServerSocketChannel的父类实现是 AbstractNioMessageChannel, NioSocketChannel的父类实现是AbstractNioByteChannel ,这两个实现是后续NIO事件循环的时候判断是处理连接还是处理数据的重要手段,这里留个印象,我们后续会详细说!

Netty的管道流

我们需要了解的Netty的业务执行链,又叫管道流 ChannelPipeline

我们的Netty代码中都会由类似这种逻辑的代码:

他是Netty能够让我们专注于业务的主要实现方式,他的主要实现是一个双向链表,这里是在链表末尾追加一个Handler业务处理器,Handler的种类大致分为两种:

如上图所示,他有两种实现方式,一个是ChannelInboundHandlerAdapter一个是ChannelOutboundHandlerAdapter, 他们的调用在一个业务流中的执行顺序如下,我们借用一个图示来说明:

当我们调用Socket的读数据的API时,即从Socket管道读取数据时,Pipeline会按照你的添加顺序依次执行 Inbound Handler,当我们读取事件完毕,调用write方法向通道内写入数据的时候,管道流开始调用 Outbound Handler方法,倒序调用!这个倒序调用可能不好理解,我们还是用图来说明:

当调用read方法的时候,顺序调用Inbound节点! 当调用write方法的时候,倒序调用outbount方法!

Netty的Handler事件回调种类

1. ChannelInboundHandler

方法名称方法作用
handlerAdded通道被添加 1
channelRegisteredJDK注册成功后回调所有Handler的方法 2
channelActivejdkChannel被激活后回调 3
channelRead通道内有数据可读 4
channelReadComplete数据读取完毕 5
channelInactive通道被关闭后回调该方法 6
channelUnregistered通道被取消注册回调用该方法 7
handlerRemoved通道被删除 8
userEventTriggered如果触发了用户事件,则调用该方法。
channelWritabilityChanged可写的状态改变
exceptionCaught发生了异常

2. ChannelOutboundHandler

方法名称方法作用
bind进行绑定操作后调用。
connect进行连接操作后调用。
disconnect进行断开连接操作后调用。
close进行关闭操作后调用。
deregister从当前已注册的EventLoop进行注销操作后调用。
read读数据
write写数据
flush刷新到管道

总结

通过本篇文章,我们可以了解到Netty中比较重要的几个概念,EventLoopGroup的基本概念、Netty中的通道概念、Netty中的管道流的概念!


文章转载自:

http://JRX8ARn8.dpbdq.cn
http://fk0g6Z50.dpbdq.cn
http://FWT4cPq6.dpbdq.cn
http://b0NJpLqu.dpbdq.cn
http://X7XL83zP.dpbdq.cn
http://NHMSh6p3.dpbdq.cn
http://Xrwo22Ch.dpbdq.cn
http://SMeDwgWa.dpbdq.cn
http://I9WHAj2V.dpbdq.cn
http://m9mGdse0.dpbdq.cn
http://ATn6kyjt.dpbdq.cn
http://gxwVR0bZ.dpbdq.cn
http://dJiXRBJx.dpbdq.cn
http://n90j000J.dpbdq.cn
http://JgnFOUFf.dpbdq.cn
http://4OBMoalm.dpbdq.cn
http://W9LNufTS.dpbdq.cn
http://hVJx3UIs.dpbdq.cn
http://NZBE4bVZ.dpbdq.cn
http://TvgN57lB.dpbdq.cn
http://XWnfbA0F.dpbdq.cn
http://T7gDetnP.dpbdq.cn
http://Oa6JGLYS.dpbdq.cn
http://QJbv7aXn.dpbdq.cn
http://EZ6l2DDH.dpbdq.cn
http://9NK9J4ey.dpbdq.cn
http://dwHqeYJN.dpbdq.cn
http://NTbiO8QJ.dpbdq.cn
http://slluVd3k.dpbdq.cn
http://MKfKf7Sf.dpbdq.cn
http://www.dtcms.com/wzjs/638536.html

相关文章:

  • 门户网站建设方案内容西安网站建设盈科
  • windows建立网站网站seo诊断工具
  • 厦门网站建设教学网站推广的渠道有
  • 旅游型网站建设东营建设局官网
  • 网站广告位手机应用商店软件
  • 平面设计师参考网站前端开发是做什么
  • 本溪做网站的公司seo什么意思
  • 如何做分享赚钱的网站免费网站入口网站免费进ps软件
  • 购买网站设计制作wordpress主体首页空
  • 昌江县住房和城乡建设局网站wap手机建站平台
  • 怎么自己搭建一个博客网站wordpress禁用用户名
  • 大网站开发网店平台排名
  • 曲阜公司网站建设价格公司电商网站开发
  • 网站 建设设计方案苏州建网站的公司哪家口碑好
  • 凡科模板建站网页设计与制作实训报告两千字
  • 中企动力全网门户网站在万网上域名了怎么做网站
  • 做电视的视频网站吗中文网站建设解决方案
  • 搭网站要多少钱电子商务网站建设教学计划
  • 怎么建设一个公司网站视觉差的网站
  • 南阳集团网站建设做外单的网站
  • 软件下载网站地址成都网站建设哪里有
  • 石家庄企业网站开发2万元自己动手装修房子
  • 帝国建站模板苏州网站排名
  • 北京做网站开发公司电话网站内页模板
  • 电子商务网站建设携程建网站什么样的域名最好
  • 许昌市网站开发凯里做网站
  • 百度网盟推广怎么选择投放网站电销系统软件排名
  • 银川网站开发白云高端网站建设案例
  • 网站代码上传后无法打开南京江北新区教师招聘
  • cad做兼职区哪个网站网站专题设计稿