# cc-chat **Repository Path**: time-changes/cc-chat ## Basic Information - **Project Name**: cc-chat - **Description**: C++分布式即时通讯系统 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-24 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cc-chat cpp全栈聊天项目 本项目为C++全栈聊天项目实战,包括PC端QT界面编程,asio异步服务器设计,beast网络库搭建http网关,nodejs搭建验证服务,各服务间用grpc通信,server和client用asio通信等,也包括用户信息的录入等。实现跨平台设计,先设计windows的server,之后再考虑移植到Linux中。 项目原作者仓库:https://gitee.com/secondtonone1/llfcchat **项目架构图:** ![https://cdn.llfc.club/1709009717000.jpg](https://cdn.llfc.club/1709009717000.jpg) 1. GateServer为网关服务,主要应对客户端的连接和注册请求,因为服务器是是分布式,所以GateServer收到用户连接请求后会查询状态服务选择一个负载较小的Server地址给客户端,客户端拿着这个地址直接和Server通信建立长连接。 2. 当用户注册时会发送给GateServer, GateServer调用VarifyServer验证注册的合理性并发送验证码给客户端,客户端拿着这个验证码去GateServer注册即可。 3. StatusServer, ServerA, ServerB都可以直接访问Redis和Mysql服务。 # 第一季 ## day01 - 编写客户端登录界面和注册界面 ## day02 - CRTP实现http管理者 ## day03 - beast实现http get请求处理 ## day04 - beast实现http post请求处理 - 客户端实现post请求发送 ## day05 - grpc在linux的配置安装,clion的WSL环境配置 - 使用grpc实现VerifyGrpcClient ## day06 - nodejs 实现邮箱验证服务 ## day07 - iocontext连接池实现GateServer高并发 - RPC连接池 ## day08 - 使用hiredis库封装Redis操作类 - 封装Redis连接池 ## day09 - 验证码服务前后端联调 - 注册功能 ## day10 - mysql连接池、mysql操作类封装 - 注册功能完善 ## day11 - 注册界面完善 - 验证码按钮倒计时,密码隐藏与显示,注册成功显示界面 ## day12 - 重置密码 - 界面与服务端的实现 ## day13 - 登录验证 - 状态服务的搭建 ## day14 - 客户端Tcp管理类设计 - asio实现tcp聊天服务器 ## day15 - 聊天主界面搭建和点击按钮 - 实现搜索框和聊天列表 ## day16 - 聊天列表动态加载 - 聊天界面美化 ## day17 - 滚动聊天布局 - 气泡对话框 ## day18 - 侧边栏切换 - 搜索列表 - 搜索清空 - 结果显示 ## day19 - 好友申请界面设计 - 联系人列表界面设计 ## day20 - 实现好友申请列表 ## day21 - 分布式服务设计 ## day22 - 实现好友查找功能 ## day23 - 好友申请和分布式通知 ## day24 - 好友申请通知和申请列表加载 ## day25 - 好友认证与加载好友 ## day26 - 好友聊天功能实现 - 第一季完结 # 第二季 ## day27 - 分布式锁设计 - 单服务器踢人 ## day28 - 跨服务器踢人 ## day29 - 添加心跳检测 ## day30 - 客户端上传头像 ## 聊天消息持久化存储方案 - 数据库表设计 - 从数据库加载聊天列表数据,客户端和服务端逻辑修改 - 会话列表的增量加载与首次会话创建 - 好友认证消息存储 - 聊天记录增量加载方案 - 聊天消息状态转发和入库