# ChatServer **Repository Path**: meanZhang/chat-server ## Basic Information - **Project Name**: ChatServer - **Description**: C++ 多线程聊天服务器(带用户系统),使用sqlite管理用户。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-19 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目目标:C++ 多线程聊天服务器(带用户系统) 支持: - 用户注册/登录 - 私聊、群聊(广播) - 在线用户列表 - 多客户端并发连接 - 使用数据库存储用户信息 # 项目架构概览 ``` txt Client 1 ───┐ Client 2 ───┤ ├── TCP Server (C++) ─── Database (SQLite) Client 3 ───┤ │ │ ├── 每连接/客户一线程 │ └── 在线用户管理 (STL: map, vector, mutex) Client N ───┘ ``` # 项目结构(Visual Studio) ``` txt ChatServer/ ├── src/ │ ├── main.cpp // 主函数 │ ├── ChatServer.h/.cpp // 服务器主类 │ ├── ClientHandler.h/.cpp // 客户端处理线程类 │ ├── UserManager.h/.cpp // 用户管理(注册/登录/在线状态) │ ├── SQLiteDB.h/.cpp // SQLite 数据库接口 │ └── Protocol.h // 协议定义(命令格式) ├── sqlite/ │ └── sqlite3.h/.c // SQLite 源文件 └── README.md ``` # 通信协议 简单文本协议 - 注册: REGISTER|用户名|密码|年龄|邮箱 - 登录: LOGIN|用户名|密码 - 私聊: PRIVATE_MSG|接收者|内容 - 群聊: GROUP_MSG|内容 - 查看在线用户: LIST_USERS - 登出: LOGOUT # 使用 - 服务器监听端口:8080 - 客户端可使用telnet - 运行效果: - 服务端 ![](./img/server.png) - 客户端 ![](./img/client1.png) ![](./img/client2.png)