前言
在java界,netty无疑是开发网络应用的拿手菜。你不需要太多关注复杂的nio模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。
作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty构建,比如RPC框架、zookeeper等。由此可见,掌握Netty技术对于开发人员来说是非常重要的。
为了让更多的开发人员学习好Netty,特此公布:腾讯高工手写的13万字的“Netty速成手册”。
完整pdf版,点这里可以免费下载。
image
第一部分:Netty的概念及体系结构
1.Netty——异步和事件驱动(Java网络编程 Netty简介 Netty的核心组件)
image
2.你的第一款Netty应用程序(设置开发环境 Netty客户端/服务器概览 编写Echo服务器 编写Echo客户端 构建和运行Echo服务器和客户端)
image
3.Netty的组件和设计
image
4.传输(案例研究:传输迁移 传输API 内置的传输 传输的用例)
image
5.ByteBuf(ByteBuf的API ByteBuf类——Netty的数据容器 字节级操作 ByteBufHolder接口 ByteBuf分配 引用计数)
image
6.ChannelHandler和ChannelPipeline(ChannelHandler家族 ChannelPipeline接口 ChannelHandlerContext接口 异常处理)
image
7.EventLoop和线程模型(线程模型概述 EventLoop接口 任务调度 实现细节)
image
8.引导(Bootstrap类 引导客户端和无连接协议 引导服务器 从Channel引导客户端 在引导过程中添加多个ChannelHandler 引导DatagramChannel 关闭)
image
9.单元测试(EmbeddedChannel概述 使用EmbeddedChannel测试ChannelHandler 测试异常处理)
image
第二部分:编解码器
1.编解码器框架(什么是编码器? 解码器 编码器 抽象的编解码器类)
image
2.预置的ChannelHandler和编解码器(通过SSL/TLS保护Netty应用程序 构建基于Netty的HTTP/HTTPS应用程序 空闲的连接和超时 解码基于分隔符的协议和基于长度的协议 写大型数据 序列化数据)
image
第三部分:网络协议
1.WebSocket(WebSocket简介 我们的WebSocket示例应用程序 添加WebSocket支持 测试该应用程序)
image
2.使用UDP广播事件(UDP的基础知识 UDP广播 UDP示例应用程序 消息POJO: LogEvent 编写广播者 编写监视器 运行LogEventBroadcaster和LogEventMonitor)
image
第四部分:案例研究
1.案例研究(上)
image
2.案例研究(下)
image
总结
为什么要学习Netty?作为开发人员,你到今天还没有找到答案吗?
对于流行的新技术,我们要懂得它的重要性,世界在发展,时代在更替,技术也在进步,而我们有什么理由拒绝呢?
学习,是为了让我们变成更好的自己。
这本Netty速成手册,完整pdf版,点这里可以免费下载。