网站大量收购独家精品文档,联系QQ:2885784924

第九章:引导Netty应用程序.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章:引导Netty应用程序.pdf

九章:引导Netty应用程序 目录 [-] 1. 不同的引导类型 2. 引导客户端和无连接协议 1. 引导客户端的方法 2. 怎么引导客户端 3. 选择兼容通道实现 3. 使用ServerBootstrap引导服务器 1. 引导服务器的方法 2. 怎么引导服务器 4. 从Channel引导客户端 5. 添加多个ChannelHandler 6. 使用通道选项和属性 7. Summary 本章介绍 引导客户端和服务器 从Channel引导客户端 添加多个ChannelHandler 使用通道选项和属性 上一章学习了编写自己的ChannelHandler和编解码器并将它们添加到Channel的ChannelPipeline 中。本章将讲解如何将它们结合在 一起使用。 Netty提供了简单统一的方法来引导服务器和客户端。引导是配置Netty服务器和客户端程序的一个过程,Bootstrap允许这些应用程 序很容易的重复使用。Netty程序的客户端和服务器都可 使用Bootstrap,其 的是简化编码过程,Bootstrap还提供了一个机制就是让 一些组件(channels,pipeline,handlers等等)都可 在后台工作。本章将具体结合 下部分一起使用开发Netty程序: EventLoopGroup Channel 设置ChannelOption Channel被注册后将调用ChannelHandler 添加指定的属性到Channel 设置本地和远程地址 绑定、连接(取决于类型) 知道如何使用各个Bootstrap后就可 使用它们配置服务器和客户端了。本章还将学习在什么会后可 共享一个Bootstrap 及为什 么这样做,结合我们之前学习的知识点来编写Netty程序。 9.1 同的引导类型 Netty包含了2个不同类型的引导,第一个是使用服务器的ServerBootstrap,用来接受客户端连接 及为已接受的连接创建子通道; 第二个是用于客户端的Bootstrap,不接受新的连接,并且是在父通道类完成一些操作。 还有一种情况是处理DatagramChannel实例,这些用于UDP协议,是无连接的。换句话说,由于UDP的性质,所 当处理UDP数据 时没有必要每个连接通道与TCP连接一样。因为通道不需要连接后才能发 数据,UDP是无连接协议。一个通道可 处理所有的数据而 不需要依赖子通道。 下图是引导的类关系图: 我们在前面讨论了许多用于客户端和服务器的知识,为了对客户端和服务器之间的关系提供了一个共同点,Netty使用 AbstractBootstrap类。通过一个共同的父类,在本章中讨论的客户端和服务器的引导程序能够重复使用通用功能,而无需复制代码或逻 辑。通常情况下,多个通道使用相同或非常类似的设置时有必要的。而不是为每一个通道创建一个新的引导,Netty使得 AbstractBootstrap可复制。也就是说克隆一个已配置的引导,其返回的是一个可重用而无需配置的引导。Netty 的克隆操作只能浅拷贝引 导的EventLoopGroup,也就是说EventLoopGroup在所有的克隆的通道中是共享的。这是一个好事情,克隆的通道一般是短暂的,例如 一个通道创建一个HTTP请求。 本章主要讲解Bootstrap和ServerBootstrap,首先我们来看看ServerBootstrap。 9.2 引导客户端和无连接协议 当需要引导客户端或一些无连接协议时,需要使用Bootstrap类。 9.2.1 引导客户端的方法 创建Bootstrap实例使用new关键字,下面是Bootstrap的方法: group(...),设置EventLoopGroup,EventLoopGroup用来处理所有通道的IO事件 channel(...),设置通道类型 channelFactory(...),使用ChannelFactory来设置通道类型 localAddress(...),设置本地地址,也可 通过bind(...)或connect(...)

文档评论(0)

suijiazhuang1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档