7 高性能 NIO 框架 Netty 实例详解
7 高性能 NIO 框架 Netty 实例详解
1 概述
略。
2 Netty 快速入门
略。
2.1 Netty 核心概念
略。
2.2 使用 Gradle 搭建 Netty 开发环境
略。正常的 maven 项目引用 netty 依赖。
3 使用 Netty 开发基于 BS 架构的网络编程案例
3.1 Netty 编写流程与服务端开发案例
- 范例 1 代码(Netty 编写流程与服务端开发案例)
com.bltj.ch07.http.MyNettyServerTest
。一大波知识点略。
3.2 使用 Netty 开发点对点通信与聊天室功能
- 范例 2 代码(服务端与客户端的点对点聊天功能-服务端)
com.bltj.ch07.socket.MyNettyServerTest
。 - 范例 2 代码(服务端与客户端的点对点聊天功能-客户端)
com.bltj.ch07.socket.MyNettyClientTest
。 - 范例 3 代码(服务端与客户端的点对多点通信-服务端)
com.bltj.ch07.chat.MyNettyServerTest
。 - 范例 3 代码(服务端与客户端的点对多点通信-客户端)
com.bltj.ch07.chat.MyNettyClientTest
。
4 使用 Netty 远程传输文件
- 范例 4 代码(远程传入文件-服务端)
com.bltj.ch07.file.MyNettyServerTest
。 - 范例 4 代码(远程传入文件-客户端)
com.bltj.ch07.file.MyNettyClientTest
。
5 Netty 经典使用场景与实现案例
5.1 使用 Netty 实现心跳检测机制
- 范例 5 代码(实现心跳检测机制)
com.bltj.ch07.heartbeat.MyNettyServerTest
。
5.2 使用 Netty 实现基于 CS 架构的 WebSocket 通信
- 范例 6 代码(实现基于 CS 架构的 WebSocket 通信-服务端)
com.bltj.ch07.websocket.MyNettyServerTest
。 - 范例 6 代码(实现基于 CS 架构的 WebSocket 通信-客户端)
com.bltj.ch07.websocket.testWebSocket.html
。
6 使用 Netty 和 Protobuf 实现 RPC 功能
略。
6.1 Google Protocol Buffer 环境搭建与使用案例
略。
6.2 使用 Netty + Protobuf 开发自定义 RPC 功能
- 范例 7 代码(实现 RPC 功能-编写 .proto 文件)
com.bltj.ch07.protobuf.Student.proto
。配置好后,可以在当前工程目录下使用命令protoc --java-out=src/main/java src/main/java/com/bltj/ch07/protobuf/Student.proto
翻译为com.bltj.ch07.protobuf.StudentMessage.java
文件。 - 范例 7 代码(实现 RPC 功能-服务端)
com.bltj.ch07.protobuf.MyNettyServerTest
。 - 范例 7 代码(实现 RPC 功能-客户端)
com.bltj.ch07.protobuf.MyNettyClientTest
。 - 范例 8 代码(实现 RPC 功能-一个 proto 中有多个类-服务端)
com.bltj.ch07.protobuf.diff.MyNettyServerTest
。 - 范例 8 代码(实现 RPC 功能-一个 proto 中有多个类-客户端)
com.bltj.ch07.protobuf.diff.MyNettyClientTest
。
参考文献
- [亿级流量 Java 高并发与编程实战]