
netty源码解析
JeffCoding
热爱移动互联网,热爱安卓,热爱Java
展开
-
Netty实现服务器推Push(Android推送)
简介消息推送一般的思路就是: 1.轮询(Pull)客户端定时的去询问服务器是否有新消息需要下发;确点很明显Android后台不停的访问网络费电还浪费流量。2.推送(Push)服务端有新消息立即发送给客户端,这就没有时间的延迟,消息及时到达。当时需求过来之后就首先考虑的这两个,开发的角度Pull实现起来简单省事,但从用户来说省电和省流量才是主要的,所以最后选用Push。客户端与服务端使用长连接,客户原创 2017-04-12 21:23:08 · 14931 阅读 · 11 评论 -
Netty 源码分析之 一 服务端创建(ServerBootstrap )
目录服务器端Channel 的初始化过程ChannelPipeline 初始化(和客户端一致)Channel 的注册(和客户端一致)关于 bossGroup 与 workerGroup(重点)handler 的添加过程(重点,牵扯到childHandler和Handler)服务器端在分析客户端的代码时, 我们已经对 Bootstrap 启动转载 2017-04-05 09:28:35 · 4042 阅读 · 2 评论 -
Netty 源码分析之 EventLoop(一)
目录简述NioEventLoopGroup关于 Reactor 的线程模型NioEventLoopGroup 与 Reactor 线程模型的对应NioEventLoopGroup 类层次结构NioEventLoopGroup 实例化过程NioEventLoopNioEventLoop 类层次结构NioEventLoop 的实例化过程EventLoop 与转载 2017-04-05 14:03:56 · 846 阅读 · 0 评论 -
Netty 源码分析之 一 客户端创建(Bootstrap )
BootstrapBootstrap 是 Netty 提供的一个便利的工厂类, 我们可以通过它来完成 Netty 的客户端或服务器端的 Netty 初始化.下面我以 Netty 源码例子中的 Echo 服务器作为例子, 从客户端和服务器端分别分析一下Netty 的程序是如何启动的.BootStrap设置启动的参数,采用了Builder模式客户端部分连接源码首转载 2017-04-03 22:38:13 · 2212 阅读 · 0 评论 -
Netty 源码分析之 EventLoop(二) (最重要)
目录Netty 的 IO 处理循环thread 的 run 循环IO 事件的轮询IO 事件的处理Netty 的任务队列机制Task 的添加任务的执行Netty 的 IO 处理循环在 Netty 中, 一个 EventLoop 需要负责两个工作, 第一个是作为 IO 线程, 负责相应的 IO 操作; 第二个是作为任务线程, 执行 tas转载 2017-04-05 14:16:38 · 1052 阅读 · 0 评论 -
Java I/O模型从BIO到NIO和Reactor模式
Unix下五种I/O模型Unix 下共有五种 I/O 模型:阻塞 I/O非阻塞 I/OI/O 多路复用(select和poll)信号驱动 I/O(SIGIO)异步 I/O(Posix.1的aio_系列函数)阻塞I/O如上文所述,阻塞I/O下请求无法立即完成则保持阻塞。阻塞I/O分为如下两个阶段。阶段1:等待数据就绪。网络 I/O 的情况就是等待远端数据陆续抵转载 2017-08-22 14:50:31 · 1398 阅读 · 1 评论 -
Netty解惑
一、IO模型1. BIO (同步阻塞模型)特点:阻塞式,通过一个独立的Acceptor线程负责监听客户端的连接,然后为每一个连接都创建一个新的线程进行处理 缺点:客户端的并发访问和服务端的线程数是1:1的正比关系,所有高并发时性能会急需下降伪异步BIO特点:对BIO进行改造,也是阻塞式的,不用的是后台是通过线程池来处理请求,线程池是通过一个线程队列和Core线程来维护的,所以客户端的并发数和服务端原创 2017-05-11 12:27:37 · 1726 阅读 · 1 评论 -
Netty ByteBuf和Nio ByteBuffer
一、简介Netty中引入了ByteBuf,它相对于ByteBuffer来说,带来了很多便捷性和创新的地方,使得程序员更简单得进行网络编程二、ByteBuffer的缺点和ByteBuf的改进下面我们从几个点来分别讲解:1. 扩容ByteBuffer:ByteBuffer缓冲区的长度固定,分多了会浪费内存,分少了存放大的数据时会索引越界,所以使用ByteBuffer时,为了解决这个问题,我们一般每次pu原创 2017-04-05 11:23:41 · 10469 阅读 · 1 评论