Dq
B

分类导航

netty实战 pdf 中文版pdf 最新版

大小:3.88MB更新:2018-04-14
类别:电子阅读系统:XP/Win7/Win8/Win10

软件介绍

netty实战 pdf 中文版pdf对于Java网络方面的新手,是一本必不可少的书籍,该软件附有很多的开发内容,有需要的欢迎下载!

netty实战 pdf 中文版pdf

书籍介绍

本书是为想要或者正在使用Java 从事高性能网络编程的人而写的,循序渐进地介绍了Netty各个方面的内容。本书共分为4 个部分:

第一部分详细地介绍Netty 的相关概念以及核心组件,

第二部分介绍自定义协议经常用到的编解码器,

第三部分介绍Netty 对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用,

第四部分是几个案例研究。此外,附录部分会还简单地介绍Maven,以及如何通过使用Maven 编译和运行本书中的示例。

书籍目录

第一部分 Netty的概念及体系结构

第1 章 Netty——异步和事件驱动 3

1.1 Java 网络编程 4

1.1.1 Java NIO 5

1.1.2 选择器 6

1.2 Netty 简介 6

1.2.1 谁在使用Netty 7

1.2.2 异步和事件驱动 8

1.3 Netty 的核心组件 9

1.3.1 Channel 9

1.3.2 回调 9

1.3.3 Future 10

1.3.4 事件和ChannelHandler 11

1.3.5 把它们放在一起 12

1.4 小结 13

第2 章 你的第一款Netty应用程序 14

2.1 设置开发环境 14

2.1.1 获取并安装Java 开发工具包 14

2.1.2 下载并安装IDE 15

2.1.3 下载和安装Apache Maven 15

2.1.4 配置工具集 16

2.2 Netty 客户端/服务器概览 16

2.3 编写Echo 服务器 17

Netty Crash Course

在我们开始之前,如果你了解Netty程序的一般结构和大致用法(客户端和服务器都有一个类似的结构)会更好。

一个Netty程序开始于Bootstrap类,Bootstrap类是Netty提供的一个可以通过简单配置来设置或"引导"程序的一个很重要的类。Netty中设计了Handlers来处理特定的"event"和设置Netty中的事件,从而来处理多个协议和数据。事件可以描述成一个非常通用的方法,因为你可以自定义一个handler,用来将Object转成byte[]或将byte[]转成Object;也可以定义个handler处理抛出的异常。

你会经常编写一个实现ChannelInboundHandler的类,ChannelInboundHandler是用来接收消息,当有消息过来时,你可以决定如何处理。当程序需要返回消息时可以在ChannelInboundHandler里write/flush数据。可以认为应用程序的业务逻辑都是在ChannelInboundHandler中来处理的,业务罗的生命周期在ChannelInboundHandler中。

Netty连接客户端端或绑定服务器需要知道如何发送或接收消息,这是通过不同类型的handlers来做的,多个Handlers是怎么配置的?Netty提供了ChannelInitializer类用来配置Handlers。ChannelInitializer是通过ChannelPipeline来添加ChannelHandler的,如发送和接收消息,这些Handlers将确定发的是什么消息。ChannelInitializer自身也是一个ChannelHandler,在添加完其他的handlers之后会自动从ChannelPipeline中删除自己。

所有的Netty程序都是基于ChannelPipeline。ChannelPipeline和EventLoop和EventLoopGroup密切相关,因为它们三个都和事件处理相关,所以这就是为什么它们处理IO的工作由EventLoop管理的原因。

Netty中所有的IO操作都是异步执行的,例如你连接一个主机默认是异步完成的;写入/发送消息也是同样是异步。也就是说操作不会直接执行,而是会等一会执行,因为你不知道返回的操作结果是成功还是失败,但是需要有检查是否成功的方法或者是注册监听来通知;Netty使用Futures和ChannelFutures来达到这种目的。Future注册一个监听,当操作成功或失败时会通知。ChannelFuture封装的是一个操作的相关信息,操作被执行时会立刻返回ChannelFuture。

相关推荐