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代码分析

netty 学习(1)的更多相关文章

  1. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  2. Netty学习之客户端创建

    一.客户端开发时序图 图片来源:Netty权威指南(第2版) 二.Netty客户端开发步骤 使用Netty进行客户端开发主要有以下几个步骤: 1.用户线程创建Bootstrap Bootstrap b ...

  3. netty学习资源收集

    Netty学习笔记 Netty In Actions CSDN专栏 一起学Netty-CSDN专栏 Netty In Action中文版

  4. Netty 学习 一、初识Netty【原创】

    在过去几年的工作和学习中,比较关注高层次的应用开发,对底层探究较少.实现Web应用的开发,主要依赖Tomcat.Apache等应用服务器,程序员无需了解底层协议,但同样限制了应用的性能和效率.现在开始 ...

  5. Netty学习笔记(二) 实现服务端和客户端

    在Netty学习笔记(一) 实现DISCARD服务中,我们使用Netty和Python实现了简单的丢弃DISCARD服务,这篇,我们使用Netty实现服务端和客户端交互的需求. 前置工作 开发环境 J ...

  6. Netty 学习笔记(1)通信原理

    前言 本文主要从 select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始.   Netty 的通信原理 Netty 底层 ...

  7. Netty 学习资料

    Netty 学习资料 Netty 学习资料 链接网址 说明 Netty 4.x 用户指南 http://wiki.jikexueyuan.com/project/netty-4-user-guide/ ...

  8. Netty学习第一节Netty的总体概况

    一.Netty简介 什么是Netty? 1.高性能事件驱动,异步非阻塞的IO加载开源框架. 它是由JBoss提供,用于建立TCP等底层链接.基于Netty可以建立高性能的HTTP服务器,快速开发高性能 ...

  9. Netty学习——Thrift的入门使用

    Netty学习——Thrift的入门使用 希望你能够,了解并使用它.因为它是一个效率很高的框架 官网地址:http://thrift.apache.org/ 1.Thrift数据类型 一门技术如果需要 ...

  10. Netty学习——Apache Thrift 简介和下载安装

    Netty学习——Apache Thrift 简介和下载安装 Apache Thrift 简介 本来由Facebook开发,捐献给了Apache,成了Apache的一个重要项目 可伸缩的,跨语言的服务 ...

随机推荐

  1. 使用grep排除空行和注释行

    grep的排除选项为 -v排除空行的命令是:grep -v '^$' filename排除以#注释的命令是:grep -v '^#' filename 结合起来就是,既排除空行又排除注释行的命令gre ...

  2. Tesseract处理背景渐变的图片

    在Tesseract处理背景渐变图片不太理想的情况下, 可以利用Pillow库, 创建一个阈值过滤器来去掉渐变的背景色, 只把文字留下来, 从而让图片更清晰, 便于Tesseract读取: from ...

  3. NMON使用以及nmon_analyse生成分析报表

    在我们监控我们的操作系统的时候如果可以把各个硬件的监控信息生成形象化的分析报表图对于我们来说是件太好的事情了,而通过ibm的nom和nmon_analyser两者的结合完全可以实现我们的要求.首先对n ...

  4. requests库入门04-http基本认证

    因为后续样例中GitHub都需要提供认证,所以先写关于基本认证的 http的请求中,有一些请求是需要通过授权认证之后才会响应,授权认证就是检查用户名和密码的过程.http有一个基本认证方式,在认证的过 ...

  5. Server-side activities have been updated. You need to restart SharePoint Designer to use the updated version of activities

    一,环境: SharePoint Online Win10 + SharePoint Designer 2013 错误描述: 使用SPD3013打开SPO站点,然后编辑已有工作流(2013),报错: ...

  6. NOIP提高组—— 问题求解 与 完善程序

    问题求解1: 甲乙丙丁四人在考虑周末要不要外出郊游. 已知①如果周末下雨,并且乙不去,则甲一定不去:②如果乙去,则丁一定去:③如果丙去,则丁一定不去:④如果丁不去,而且甲不去,则丙一定不去.如果周末丙 ...

  7. GNU Wget 1.19.1 static built on mingw32

    http://pan.baidu.com/s/1sluFAVj #wget --version GNU Wget 1.19.1 built on mingw32. -cares +digest -gp ...

  8. python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示

    python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...

  9. SQL Server统计数据库中表个数、视图个数、存储过程个数

    表个数 SELECT count(*) FROM sys.objects WHERE type='U' 视图个数 SELECT count(*) FROM sys.objects WHERE type ...

  10. how to avoid inheritance abuse

    Liskov Principle: if S is a subtype of Type T, then any objects of type T may be repalced by objects ...