# netty-study **Repository Path**: lx3785/netty-study ## Basic Information - **Project Name**: netty-study - **Description**: netty试例,注释详细快速上手 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Netty 学习项目 ## 项目简介 这是一个 Netty 网络编程学习项目,演示了基于 Netty 框架的客户端-服务器架构实现。 ## 技术栈 - **Netty**: 高性能 NIO 客户端服务器框架 - **Java**: 开发语言 ## 项目结构 ``` src/main/java/com/xiao/netty/ ├── NettyClient.java # Netty 客户端 └── NettyServer.java # Netty 服务器 ├── ResponseHandler # 响应处理器 └── DbHandler # 数据处理Handler ``` ## 核心组件 ### NettyClient - 作为客户端连接到服务器 - 负责与服务器进行通信 ### NettyServer 服务器端包含两个内部 Handler: 1. **ResponseHandler** (`SimpleChannelInboundHandler`) - 处理接收到的消息 - 发送响应给客户端 - 异常处理 2. **DbHandler** (`SimpleChannelInboundHandler`) - 管理客户端连接状态 - 维护客户端与消息的映射关系 - 监听通道的生命周期事件: - `channelRegistered`: 通道注册 - `channelUnregistered`: 通道注销 - `channelActive`: 通道激活 - `channelInactive`: 通道断开 - 异常处理 ## 运行方式 ### 前提条件 - JDK 8+ - Maven ### 编译项目 ```bash mvn clean compile ``` ### 启动服务器 ```bash mvn exec:java -Dexec.mainClass="com.xiao.netty.NettyServer" ``` ### 启动客户端 ```bash mvn exec:java -Dexec.mainClass="com.xiao.netty.NettyClient" ``` ## 功能说明 1. 服务器启动后会监听连接 2. 客户端连接成功后,可以向服务器发送消息 3. 服务器的 DbHandler 负责维护客户端连接状态 4. ResponseHandler 负责处理消息并返回响应 ## 学习要点 - Netty 核心组件:ChannelHandler、ChannelPipeline、EventLoop - NIO 编程模型 - 通道生命周期管理 - 消息编解码处理 ## 许可证 本项目仅供学习交流使用。