这个章节包括:
1)Netty的架构设计和技术点
2)Channel,EventLoop和ChannelFuture
3)ChannelHandler 和 ChannelPipeline
4)Bootstrap
在第一章节中,我们讲述了java在高性能的网络编程的发展历史和对网络方面的技术基础的积累,这给对Netty的核心组件和构建模块分析提供了一个很好的氛围...
分类:
Web程序 时间:
2016-04-15 12:05:40
阅读次数:
296
关于UDP的介绍,这里不在阐述。相比于TCP而言,UDP不存在客户端和服务端的实际链接,因此不需要为连接(ChannelPipeline)设置handler。服务端: 1 public void run(int port)throws Exception{ 2 EventLoopGr...
分类:
Web程序 时间:
2016-01-21 19:21:19
阅读次数:
434
Interface ChannelHandlerContext ????上下文对象使得当前channelhandler可以与其所属的channelpipeline以及其他handler进行交互,可以通知所属channelpipeline中的下一个handler,也可动态修改其所属的chann...
分类:
Web程序 时间:
2015-08-13 12:35:26
阅读次数:
199
我们知道,在Netty架构,一个ServerBootstrap用于生成server端的Channel的时候都须要提供一个ChannelPipelineFactory类型的參数,用于服务于建立连接的Channel,流水线处理来自某个client的请求。所以这里的OpenflowPipelineFact...
分类:
其他好文 时间:
2015-07-28 23:01:12
阅读次数:
225
Netty 5 提供了 一个ChunkedWriterHandler 来传送大文件,发送端如下:添加chunedwriterhandler: ChannelPipeline p = ...; p.addLast("streamer", new ChunkedWriteHandler()); p.ad...
分类:
Web程序 时间:
2015-03-04 22:21:06
阅读次数:
980
ChannelPipeline的作用就是组织一系列的ChannelHandlers 为某一个Channel服务,处理各种事件。实现了拦截过滤器模式的高级形式(an advanced form of the Intercepting
Filter pattern),进而有效控制如何处理一个事件以及ChannelHandlers之间如何交互。类型结构图为:
流水线的创建:对于...
分类:
Web程序 时间:
2014-09-12 12:00:13
阅读次数:
310
Netty3 源码分析 - ChannelHandlerContext
ChannelHandlerContext存在的意义是可以让其管理的Handler与Pipeline或其他handlers进行交互,ChannelHandler的理解在前面说过。
发送事件:可以调用 sendUpstream(ChannelEvent)
或sendDownstream(Channel...
分类:
Web程序 时间:
2014-09-10 12:35:11
阅读次数:
282
Netty3 源码分析 - Channel
何为通道(Channel)?代表的是一个网络套接字的连接点(nexus)。
一个通道抽象的内容包括:
1)当前通道状态,是否打开,是否绑定等;
2)通道的配置参数信息,如套接字缓冲区大小;
3)通道支持的IO操作;
4)处理和这个Channel相关的IO事件和请求的ChannelPipeline。
在Netty中所有的IO操...
分类:
Web程序 时间:
2014-09-09 16:03:08
阅读次数:
300
Floodlight 使用的是Netty架构,在Controller.java 入口函数中显示创建ServerBootstrap,设置套接字选项,ChannelPipeline,此时监听套接字就准备好处理来自SW的各种消息;这里最核心的就是 OpenflowPipelineFactory ,会加入各个业务相关的Handler,代码如下:
public ChannelPipeline...
分类:
其他好文 时间:
2014-07-22 17:54:39
阅读次数:
205
1. IdleStateHandler 当Channel上没有执行相应的读写操作一定时间的时候出发一个 IdleStateEvent 事件;
2. ReadTimeoutHandler 读超时处理;
3. HandshakeTimeoutHandler 设置一个定时器检查连接的状态,握手阶段 ;
4 . OFChannelHandler 核心,处理所有的业务。...
分类:
其他好文 时间:
2014-06-24 19:58:23
阅读次数:
180