netty
瘦宅190411
这个作者很懒,什么都没留下…
展开
-
Netty源码解析(五)信息交互
前几篇文章主要讲解了netty从服务端启动到接收到客户端连接并为客户端添加感兴趣事件的流程,接下来主要讲解信息的写出流程,至于解码流程,知识比较单一,以后会单独出一篇讲解我们都知道,我们写入消息用ctx.writeAndFlush()方法,或者用ctx.channel().writeAndFlush()方法,但是两者也是有差别的加入我们的pipeline结构如下如果我们在TestInHan...原创 2020-02-04 18:05:58 · 132 阅读 · 0 评论 -
Netty源码解析(四)接收客户端
上一篇我们学完了NioServerSocketChannel创建,初始化,注册到selector,添加感兴趣事件,相当于完成了Nio的如下几步//创建一个ServerSocketChannel ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); //创建一个Selector...原创 2020-02-04 14:07:39 · 162 阅读 · 0 评论 -
Netty源码解析(三)bind方法(二)
上一篇说完了NioEventLoop完成的三件事,1.轮询感兴趣事件 2.处理IO事件 3.处理任务队列流程走到了启动好reactor线程后,ServerSocketChannel注册到selector上,但是感兴趣事件填的0,我们继续跟流程,走到这里,initAndRegister方法完成,继续跟bind方法,我们看bind方法中的doBind0方法/** * * @pa...原创 2020-02-04 12:19:04 · 178 阅读 · 0 评论 -
Netty源码解析(二)bind方法(一)
在一切初始化完成后,我们需要执行bind方法,来启动服务端ChannelFuture future = serverBootstrap.bind(9090).sync();跟进bind方法public ChannelFuture bind(int inetPort) { return bind(new InetSocketAddress(inetPort)); }...原创 2020-02-03 23:11:58 · 307 阅读 · 0 评论 -
Netty源码解析(一)初始化
Netty运行整体流程:以后的讲究都会按着这幅图来理解1.对NioEventLoopGroup的整体流程从第一行代码分析EventLoopGroup bossGroup=new NioEventLoopGroup(1);//cpu核心数*2EventLoopGroup workerGroup=new NioEventLoopGroup(); //cpu核心数*2看NioEvent...原创 2020-02-03 16:23:54 · 139 阅读 · 0 评论