写给第一次接触 Netty 的你
如果你还分不清服务器、端口和线程,可以从这里开始。本书先解释程序为什么需要网络通信,再带你运行一个小服务,最后理解 Netty 在背后做了什么。你不需要一开始就掌握高并发,也不用背下所有类名。
Netty 是 Java 的异步、事件驱动网络应用框架。你可以用它搭建 TCP 服务、HTTP 服务、WebSocket 服务,以及自定义协议的客户端和服务器。它提供网络基础设施;业务规则仍然需要你设计。
本书的终点很具体:你能够运行一个支持中文的行协议服务,解释消息如何经过 Pipeline,知道如何处理半包、内存和连接关闭,并能用测试证明协议在分片到达时仍然正确。
怎么使用这本书
先读第 1~4 章并运行示例;第 5~10 章解释机制;第 11~14 章讲测试、工程化和排错;最后是学习计划、答案、速查表与资料来源。第一次遇到不熟悉的术语,可以先看例子,再回头看定义。
每章都有一个小练习。先自己回答,再到附录对照。你也可以只做一件事:每次改动代码之前,预测输出;运行之后,解释差异。
本书使用 Java 17 语法、Maven 和 Netty 4.1.139.Final。实际验证使用 JDK 21。4.2 是另一条正在发展的版本线,不应把两条版本线的配置片段随意混用。版本信息依据 2026 年 10 月 20 日取得的官方页面与 Maven Central 元数据,后续可能变化。[1][7]
所有主线代码均附在本书末尾,也随书提供完整 Maven 工程。电子书中输入代码比较麻烦时,可以直接使用工程目录。代码按教学目的设计,服务默认只监听本机 127.0.0.1。