- 博客(6)
- 收藏
- 关注
原创 Netty源码分析之handler decoder
ChannelHandler是处理业务逻辑的代码所在。下面首先分析下ChannelHandler的体系结构,然后重点分析几个有意思的Handler:IdleStateHandler、ExceptionHandler1.ChannelHandler在Netty中的位置ChannelHandler分upstreamChannelHandler和downstreamChannelHandler,分别...
2013-05-27 14:30:42
193
原创 Netty之模型分析
1.网络模型Netty实现了非常经典的多reactor模型其中mainReactor是对应的Boss类,它负责接收客户端新来的连接。它使用了线程池1,有多个Boss对象供绑定多个地址进行监听,这些地址均匀分配到各个Boss上。默认只使用一个Boss对象监听。 subReactor对应Worker类,它负责监听由Boss类accept的socket的读写事件。它使用了另外一个线程池2...
2013-05-23 14:42:48
119
原创 Netty源码分析之消息的收发
在前面已经说明了在接收新连接时,将向worker注册默认的READ事件。然后worker开始阻塞select监听事件。发送消息的情况。这种情况常常是由DownstreamHandler主动发起,在对接收的消息处理后主动发送消息ctx.sendMessage,由内向外经过由DownstreamHandler和encode组成的过滤链,在链的尽头由NioServerSocketPipeline...
2013-05-22 13:31:21
204
原创 Netty源码分析之accept
处理客户端新连接请求的方法从org.jboss.netty.channel.socket.nio.AbstractNioSelector.run()开始分析。NioServerBoss是AbstractNioSelector的子类,处理服务器端接收新请求的处理类selector。如果有多个selector,可以创建bosspool时设置多个selector实例,新的绑定地址bind任务将依...
2013-05-21 11:29:49
133
原创 Netty源码分析之Server bindAsync
下文将剖析ServerBootstrap.bindAsync()方法所涉及到的流程。1.概念ChannelHandler分ChannelUpstreamHandler和ChanneldownstreamHandler,前者指向服务器接收事件的调用处理器,后者是服务器由内而外发送事件的事件处理器。上下行消息传递方法介绍sendUpstream()方法表发由外向内传递事件,[c...
2013-05-17 16:10:21
282
原创 初识Netty3.6
今天开始接触Netty这个NIO框架,由与MINA同一作者创作的框架,在看过User Guide 3.6之后,API风格与使用方式与MINA2大致类似。作为学习新框架的起始,先来几个Hello World程序吧。看API依然是基于Reactor模型,程序分三部分1.事件处理程序主要包括对具体业务消息的处理,对各种连接状态的响应 [code="java"] publ...
2013-05-16 16:55:47
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人