• Introduction
  • 开始
  • Netty-异步和数据驱动
  • Netty 介绍
  • 构成部分
  • 关于本书
  • 第一个 Netty 应用
  • 设置开发环境
  • Netty 客户端/服务端 总览
  • 写一个 echo 服务器
  • 写一个 echo 客户端
  • 编译和运行 Echo 服务器和客户端
  • 总结
  • Netty 总览
  • Netty 快速入门
  • Channel, Event 和 I/O
  • 什么是 Bootstrapping 为什么要用
  • ChannelHandler 和 ChannelPipeline
  • 近距离观察 ChannelHandler
  • 总结
  • 核心功能
  • Transport(传输)
  • 案例研究:Transport 的迁移
  • Transport API
  • 包含的 Transport
  • Transport 使用情况
  • 总结
  • Buffer(缓冲)
  • Buffer API
  • ByteBuf - 字节数据的容器
  • 字节级别的操作
  • ByteBufHolder
  • ByteBuf 分配
  • 总结
  • ChannelHandler 和 ChannelPipeline
  • ChannelHandler 家族
  • ChannelPipeline
  • ChannelHandlerContext
  • 总结
  • Codec 框架
  • 什么是 Codec
  • Decoder(解码器)
  • Encoder(编码器)
  • 抽象 Codec(编解码器)类
  • 总结
  • 提供了的 ChannelHandler 和 Codec
  • 使用 SSL/TLS 加密 Netty 程序
  • 构建 Netty HTTP/HTTPS 应用
  • 空闲连接以及超时
  • 解码分隔符和基于长度的协议
  • 编写大型数据
  • 序列化数据
  • 总结
  • Bootstrap 类型
  • 引导客户端和无连接协议
  • 引导服务器
  • 从 Channel 引导客户端
  • 在一个引导中添加多个 ChannelHandler
  • 使用Netty 的 ChannelOption 和属性
  • 关闭之前已经引导的客户端或服务器
  • 总结
  • 引导
  • Bootstrap 类型
  • 引导客户端和无连接协议
  • 引导服务器
  • 从 Channel 引导客户端
  • 在一个引导中添加多个 ChannelHandler
  • 使用Netty 的 ChannelOption 和属性
  • 关闭之前已经引导的客户端或服务器
  • 总结
  • NETTY BY EXAMPLE
  • 单元测试
  • 总览
  • 测试 ChannelHandler
  • 测试异常处理
  • 总结
  • WebSocket
  • WebSocket 程序示例
  • 添加 WebSocket 支持
  • 测试程序
  • 总结
  • SPDY
  • SPDY 背景
  • 示例程序
  • 实现
  • 启动 SpdyServer 并测试
  • 总结
  • 通过 UDP 广播事件
  • UDP 基础
  • UDP 广播
  • UDP 示例
  • EventLog 的 POJO
  • 写广播器
  • 写监视器
  • 运行 LogEventBroadcaster 和 LogEventMonitor
  • 总结
  • 高级主题
  • 实现自定义的编解码器
  • 编解码器的范围
  • 实现 Memcached 编解码器
  • 了解 Memcached 二进制协议
  • Netty 编码器和解码器
  • 测试编解码器
  • EventLoop 和线程模型
  • 线程模型的总览
  • EventLoop
  • EventLoop
  • I/O EventLoop/Thread 分配细节
  • 总结
  • 用例1:Droplr Firebase 和 Urban Airship
  • 用例2:Facebook 和 Twitter