# 基于Qt的全栈聊天室 **Repository Path**: chengle1993/Qt-Chat ## Basic Information - **Project Name**: 基于Qt的全栈聊天室 - **Description**: 一个基于Qt的全栈聊天室的项目,主要是来学习分布式微服务架构,巩固Qt,理解Boost asio网络库的使用,连接池的思想等,这是一个学习样例,后期会进行更多功能的写入 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-24 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于Qt的全栈聊天室 #### 介绍 基于Qt框架开发的全栈聊天室项目,旨在通过实践加深对Qt应用开发的理解与掌握。本项目涵盖了网络通信、多线程处理、图形用户界面(GUI)设计等多个关键技术点,是一个集聊天、好友管理、消息推送等功能于一体的综合应用。 #### 软件架构 - **客户端**:使用Qt Creator进行开发,基于Qt Widgets库构建图形用户界面。 - **服务器**:采用分布式设计,包括GateServer(网关服务器)、ChatServer(聊天服务器)、StatusServer(状态/认证服务器)和VerifyServer(验证码服务器)。 - **GateServer**:负责客户端连接的初始分发。 - **ChatServer**:管理聊天会话,包括好友验证、消息转发等。 - **StatusServer**:处理用户登录认证、状态查询等。 - **VerifyServer**:生成并验证验证码。 - **通信协议**:采用gRPC进行服务器间的通信,确保高效、可靠的数据交换。 #### 安装教程 1. **环境准备**:确保已安装Qt开发环境(推荐Qt 5.x或更高版本)及相应的编译器。 2. **克隆仓库**:使用Git将项目代码克隆到本地。 3. **配置项目**:在Qt Creator中打开项目文件(.pro),配置项目路径和依赖库。 4. **编译项目**:使用Qt Creator的编译功能构建项目。 5. **运行测试**:分别启动各个服务器组件和客户端程序,进行功能测试。 #### 使用说明 1. **注册与登录**: - 用户通过客户端进行注册,输入验证码并验证。 - 登录时输入用户名和密码,StatusServer进行身份验证。 2. **添加好友**: - 用户可以通过搜索功能查找其他用户,并发送好友请求。 - 对方同意后,双方成为好友,可以在聊天室中互相发送消息。 3. **聊天功能**: - 支持文本消息的发送与接收。 - 实时通知好友上线、下线及新消息到达。 4. **退出登录**: - 用户可选择退出登录,系统将清除当前会话信息。 ### 参与贡献 对项目中任何模块感兴趣的开发者,欢迎通过电子邮件与作者联系以探讨合作或提出建议: - **邮箱**:[zhaobohan_free@163.com](mailto:zhaobohan_free@163.com) 至此,您已了解项目的整体概况、安装流程、使用方法以及如何参与到项目开发中来。请根据需要遵循上述指引进行操作。