# Ultimate-Chatroom **Repository Path**: hi-mzh/Ultimate-Chatroom ## Basic Information - **Project Name**: Ultimate-Chatroom - **Description**: 一套系统学习网络通信(Socket/Netty/WebSocket)开发实践的Java项目,覆盖多人聊天室从BIO到NIO到WebSocket全流程。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-19 - **Last Updated**: 2025-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ultimate Chatroom > 一个用于学习和掌握网络通信(Socket / Netty / WebSocket)核心技术的进阶型项目。 --- ## 📚 项目简介 Ultimate Chatroom 是一个以分阶段模块化开发为核心的学习型项目,旨在帮助开发者系统性掌握: - 基础Socket通信(BIO) - 高性能Netty通信(NIO) - 前后端实时WebSocket通信 - 通用模块化开发实践 - Spring Boot 3最新开发规范 - Maven多模块项目管理规范 项目遵循阿里巴巴Java开发手册标准,代码整洁、架构清晰,适合学习与深入理解网络通信原理。 --- ## 🛠️ 技术栈 - Java 17 - Spring Boot 3.0.2 - Maven - Lombok - Hutool - Jackson - Netty 4.1.x - WebSocket - Springdoc OpenAPI 3 (接口文档) --- ## 🧩 项目模块结构 | 模块名 | 说明 | |:---|:---| | `ultimate-chatroom-core` | 全局常量、系统异常、通用基础枚举 | | `ultimate-chatroom-common` | 通用返回体封装、统一异常处理体系 | | `ultimate-chatroom-socket` | 基于Socket(ServerSocket)实现基础聊天室 | | `ultimate-chatroom-netty` | 基于Netty实现高性能NIO聊天室 | | `ultimate-chatroom-websocket` | 基于WebSocket实现前后端实时通讯聊天室 | | `ultimate-chatroom-docs` | 项目接口文档、学习笔记与总结归档 | --- ## 🚀 开发阶段规划 ### Phase 1: Socket聊天室(BIO版) - 服务端监听Socket连接 - 客户端发送消息 - 服务端广播消息给所有客户端 - 简单心跳机制 - 异常捕获与统一处理 ### Phase 2: Netty聊天室(NIO版) - 使用Netty构建高性能服务器 - 自定义编解码器 - ChannelGroup管理在线用户 - 心跳检测(IdleStateHandler) - 拆包/粘包处理机制 ### Phase 3: WebSocket聊天室(前后端实时版) - Spring Boot集成WebSocket - 前端页面实时通讯 - 支持房间分组功能 - 在线人数实时推送 ### Phase 4: 文档模块(学习总结与接口归档) - Springdoc OpenAPI3接口文档 - 核心技术点学习笔记 --- ## 📈 项目运行要求 - JDK 17+ - Maven 3.6+ - IDE(推荐 IntelliJ IDEA 2023+) - 浏览器(WebSocket模块需要) --- ## 📢 项目规范说明 - 使用统一的异常处理器(GlobalExceptionHandler) - 使用统一返回体(Result) - 所有日志规范化(Slf4j) - 严格遵守阿里巴巴Java开发手册编码规范 - 严格模块化拆分,保持低耦合高内聚 --- ## ✨ 联系与交流 如果你喜欢这个项目,或者学习过程中遇到问题,欢迎交流讨论! ---