项目简介
本项目是一个仿QQ聊天的即时通讯系统,运用C++语言与Muduo网络库进行开发。采用客户端 - 服务器架构,客户端和服务器借助JSON格式消息通信,支持用户登录、注册、注销、添加好友、创建或加入群组、一对一聊天以及群组聊天等功能。
项目的主要特性和功能
- 用户管理:具备用户登录、注册、注销功能,同时管理用户在线和离线状态。
- 好友管理:支持添加好友,可查询好友列表。
- 群组管理:能创建和加入群组,可查询用户所在群组及其成员信息。
- 聊天功能:提供一对一和群组聊天功能,支持离线消息存储与推送。
- 消息处理:采用JSON格式传输消息,实现消息的异步处理和线程安全。
- 数据库支持:使用MySQL存储数据,利用Redis进行消息实时推送和离线消息存储。
安装使用步骤
开发环境准备
- 操作系统为Ubuntu 18.04.6 LTS。
- 安装依赖库:
- 安装Json开发库。
- 参考C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装安装boost + muduo网络库开发环境。
- 安装redis环境。
- 安装mysql数据库环境。
- 安装nginx。
- 安装CMake环境。
数据库配置
打开mysql.ini配置数据库信息:
ini
ip=127.0.0.1
port=3306
username=root
passward=123456
dbname=pool
initSize=10
maxSize=1024
maxIdleTime=60
connectionTimeout=100
项目启动
- 在ChatServer目录下输入
./autobuild.sh
运行项目启动脚本。 - 启动服务器后,客户端指定IP地址和端口号连接到服务器,进行登录、注册、聊天等操作。
客户端使用
- 客户端程序用C++编写,支持登录、注册、添加好友、创建群组、加入群组、一对一聊天和群聊等功能。
- 通过命令行输入
login
、reg
、addfriend
、creategroup
、joingroup
等命令与服务器交互。
服务器端使用
- 服务器端处理客户端连接请求和消息处理。
- 监听特定IP地址和端口接收客户端连接,根据消息类型调用相应处理器进行业务逻辑处理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】