netty 学习(1)

  Netty使用:通过BootStrap来启动。而BootStrap主要分为两类:1.面向连接(TCP)的(ClientBootStrap和ServerBootStrap);2. 非面向连接(UDP)的(ConnectionlessBootstrap).

 

  Channel分为ChannelFactory和ChannelPipelineFactory。前者主要生产网络通讯相关的Channel实例和ChannelSink实例;后者主要用于具体的传输数据的处理。

 

  使用步骤

  1. 实例化一个BootStrap,并通过构造方法指定一个ChannelFactory;
  2. 向bootstrap实例注册一个自己实现的PipelineFactory;
  3. 服务器:bootstrap.bind(new InetSocketAddress(port)),等待客户端来连接;客户端:bootstrap.connect(new InetSocketAddress(host, post))取得一个future,Netty会去连接远程主机。完成连接后,会发起类型为CONNECTED的ChannelStateEvent,并且开始在自定义的Pipeline里面流转。
  4. 如果注册的handler有这个事件的响应方法,那么就会被调用到。

 

  处理策略

  NIO:BOOS(1个)处理连接接入,WORKER(多个)处理boss传递过来的channel数据,并触发相应事件传递给pipeline进行数据处理。

  BIO:

 

参考:Netty代码分析

posted @ 2013-08-06 11:37  Javawer  阅读(313)  评论(0编辑  收藏  举报
作者:Roger Wei
出处:http://www.cnblogs.com/javawer/
转载须保留此声明,并注明在文章起始位置给出原文链接。