littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C++和Muduo网络库的即时通讯系统

项目简介

本项目是一个仿QQ聊天的即时通讯系统,运用C++语言与Muduo网络库进行开发。采用客户端 - 服务器架构,客户端和服务器借助JSON格式消息通信,支持用户登录、注册、注销、添加好友、创建或加入群组、一对一聊天以及群组聊天等功能。

项目的主要特性和功能

  1. 用户管理:具备用户登录、注册、注销功能,同时管理用户在线和离线状态。
  2. 好友管理:支持添加好友,可查询好友列表。
  3. 群组管理:能创建和加入群组,可查询用户所在群组及其成员信息。
  4. 聊天功能:提供一对一和群组聊天功能,支持离线消息存储与推送。
  5. 消息处理:采用JSON格式传输消息,实现消息的异步处理和线程安全。
  6. 数据库支持:使用MySQL存储数据,利用Redis进行消息实时推送和离线消息存储。

安装使用步骤

开发环境准备

  1. 操作系统为Ubuntu 18.04.6 LTS。
  2. 安装依赖库:

数据库配置

打开mysql.ini配置数据库信息: ini ip=127.0.0.1 port=3306 username=root passward=123456 dbname=pool initSize=10 maxSize=1024 maxIdleTime=60 connectionTimeout=100

项目启动

  1. 在ChatServer目录下输入./autobuild.sh运行项目启动脚本。
  2. 启动服务器后,客户端指定IP地址和端口号连接到服务器,进行登录、注册、聊天等操作。

客户端使用

  1. 客户端程序用C++编写,支持登录、注册、添加好友、创建群组、加入群组、一对一聊天和群聊等功能。
  2. 通过命令行输入loginregaddfriendcreategroupjoingroup等命令与服务器交互。

服务器端使用

  1. 服务器端处理客户端连接请求和消息处理。
  2. 监听特定IP地址和端口接收客户端连接,根据消息类型调用相应处理器进行业务逻辑处理。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】