项目简单介绍
本项目主要是实现一个集群聊天服务器的程序,主要功能如下:
-
客户端新用户注册
-
客户端用户登录
-
添加好友和添加群组
-
一对一好友聊天
-
群组聊天
-
离线消息存储
-
nginx配置tcp负载均衡
-
集群聊天系统支持客户端跨服务器通信
技术栈
Json
序列化和反序列化- C++11新特性如
unordered_map
、绑定器、std::mutex
- 利用
muduo
网络库开发 nginx
源码编译安装和环境部署nginx
的tcp负载均衡器配置redis
缓存服务器编程实践- 基于发布-订阅的服务器中间件redis消息队列编程实践
MySQL
数据库编程CMake
构建编译环境
环境和库依赖
- ubuntu(18.04及以上)或者centos 7(推荐,附件资料有详细安装配置文档)
- Json开发库
- 安装boost + muduo网络库开发环境,参考博客:
https://blog.csdn.net/QIANGWEIYUAN/article/details/89023980 - redis环境
- mysql数据库环境
- nginx
- CMake环境
代码的组织方式
bin // 放可执行文件
lib //库文件(无)
include // 头文件
src // 源文件
client
server
build // 编译文件
example // 范例文件,一些json和cmake的例子
thirdparty // 三方库,即json库
CMakeLists.txt
autobuild.sh // 自动编译shell脚本
项目程序地址
https://github.com/StrikeCode/chatserver