7 高性能 NIO 框架 Netty 实例详解

felix.shao2025-02-16

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 高并发与编程实战]
Last Updated 2/16/2025, 4:13:06 PM