# gchatsystem **Repository Path**: cold-abyss_admin/gchatsystem ## Basic Information - **Project Name**: gchatsystem - **Description**: 冷环渊学习Netty 练习项目 在线群聊系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-04-12 - **Last Updated**: 2026-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GChatSystem 基于 Netty + Spring Boot 的实时WebSocket聊天系统,支持多人聊天、群组管理、HTTP文件服务器和Redis缓存。 ## 项目简介 GChatSystem 是一个功能完整的即时通讯系统,采用 Netty 作为底层通信框架,集成 WebSocket 实现实时双向通信。系统支持用户管理、群组创建、群聊/私聊消息发送,并提供了 HTTP 文件服务器和 Redis 缓存模拟客户端等实用组件。 ## 核心特性 - **WebSocket 实时通信**:基于 Netty 的 WebSocket 实现,支持浏览器实时聊天 - **多人群聊**:支持创建群组、加入群组、群组消息推送 - **私聊功能**:支持用户间一对一私信 - **HTTP 文件服务器**:内置静态文件服务器组件 - **Redis 缓存支持**:集成 Redis 客户端和缓存工具类 - **Spring Boot 集成**:完整的 Spring Boot 应用配置 ## 技术栈 - Java 8+ - Netty - Spring Boot - WebSocket - Redis ## 快速开始 ### 环境要求 - JDK 8 或更高版本 - Maven 3.x - Redis 服务(可选) ### 构建项目 ```bash mvn clean install ``` ### 启动服务 ```bash mvn spring-boot:run ``` 默认端口可通过 `application.properties` 中的 `netty.port` 配置项进行修改。 ## 项目结构 ``` src/main/java/com/hyc/gchatsystem/ ├── GchatsystemApplication.java # Spring Boot 启动类 ├── CommonServer.java # Netty 公共服务器组件 ├── Server/ # Reactor 模式服务实现 │ ├── Acceptor.java │ ├── Handler.java │ ├── HandlerLoop.java │ ├── MultHandler.java │ ├── MultReactorServer.java │ └── ReactorServer.java ├── config/ │ └── redisConfig.java # Redis 配置 ├── controller/ │ └── redisController.java # Redis HTTP 接口 ├── enums/ │ ├── ReqType.java # 请求类型枚举 │ └── RespType.java # 响应类型枚举 ├── file/ │ ├── FileServer.java # HTTP 文件服务器 │ └── FileServerHandler.java ├── mapper/ │ └── LocalData.java # 本地数据存储 ├── medel/ │ ├── GroupModel.java # 群组模型 │ ├── ReqModel.java # 请求模型 │ ├── RespModel.java # 响应模型 │ └── UserModel.java # 用户模型 ├── redis/ │ ├── RedisClient.java # Redis 客户端 │ └── RedisClientHandler.java ├── service/ │ ├── ChatService.java # 聊天服务接口 │ └── Impl/ │ └── ChatServiceImpl.java ├── udp/ │ └── udpServer.java # UDP 服务器 ├── util/ │ └── RedisUtil.java # Redis 工具类 ├── websocket/ │ ├── WebSocketHandler.java # WebSocket 处理器 │ └── WebSocketInitializer.java ``` ## 功能说明 ### 聊天服务 系统提供以下核心功能: - **用户管理**:添加/删除用户 - **群组管理**:创建群组、加入群组 - **消息发送**:群组消息广播、私聊消息推送 ### 消息格式 **请求消息 (ReqModel)**: ```java private int type; // 请求类型 private String uid; // 用户ID private String nickname;// 昵称 private String groupId; // 群组ID private String groupName;// 群组名称 private String msg; // 消息内容 private List