基于Netty网络编程项目实战笔记 - 副本.pdf

基于Netty网络编程项目实战笔记 - 副本.pdf

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 基于Netty 网络编程项目实战课程 1 项目介绍 2 Netty 介绍与相关基础知识 2.1 Netty 介绍 简介 客 Netty 是由JBOSS 提供的一个java 开源框架。Netty 提供异步的、事件驱动的网络应用程序框架和工具,用 以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出 一个网络应用,例如实现了某种协议的客户、服务端应用。Netty 相当于简化和流线化了网络应用的编程开发过程, 例如:基于 TCP和UDP 的socket 服务开发。 “快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议(包括 FTP、SMTP、HTTP 播 等各种二进制文本协议)的实现经验,并经过相当精心设计的项目。最终,Netty 成功的找到了一种方式,在保证 易于开发的同时还保证了其应用的性能,稳定性和伸缩性。 (1) Netty 提供了简单易用的API (2) 基于事件驱动的编程方式来编写网络通信程序 (3) 更高的吞吐量 智 (4) 学习难度低 应用场景: JavaEE: Dubbo 大数据:Apache Storm (Supervisor worker 进程间的通信也是基于Netty 来实现的) 传 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 2.2 BIO、NIO、AIO 介绍与区别 阻塞与非阻塞 主要指的是访问IO 的线程是否会阻塞 (或者说是等待) 线程访问资源,该资源是否准备就绪的一种处理方式。 客 播 同步和异步智 主要是指的数据的请求方式 同步和异步是指访问数据的一种机制 传 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 客 BIO 播 同步阻塞IO,Block IO,IO 操作时会阻塞线程,并发处理能力低。 我们熟知的Socket 编程就是BIO,一个socket 连接一个处理线程(这个线程负责这个Socket 连接的一系列数据 传输操作)。阻塞的原因在于:操作系统允许的线程数量是有限的,多个 socket 申请与服务端建立连接时,服务端 不能提供相应数量的处理线程,没有分配到处理线程的连接就会阻塞等待或被拒绝。 智 传 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 NIO 客 同步非阻塞IO,None-Block IO NIO 是对BIO 的改进,基于Reactor 模型。我们知道,一个socket 连接只有在特点时候才会发生数据传输IO 操作, 大部分时间这个“数据通道”是空闲的,但还是占用着线程。NIO 作出的改进就是“一个请求一个线程”,在连接到 服务端的众多socket 中,只有需要进行IO 操作的才能获取服务端的处理线程进行IO。这样就不会因为线程不够用 而限制了socket 的接入。

文档评论(0)

zhengqang-wu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档