项目内容
本项目基于C++实现了一个具有群聊功能的聊天室。客户端基于QT实现,服务端基于epoll实现。目前已上传到https://github.com/cswen-scut/chatroom,喜欢的朋友记得给个星星哦O(∩_∩)O。
项目演示
技术点
-
客户端涉及到的技术点
- 常用QT控件(QWidget, QListWidget, QLabel, QPushButton)
- QT信号与槽
- QJsonObject完成json数据的解析
- QT多线程
- QTcpSocket连接服务器
-
服务端涉及到的技术点
- epoll多路IO转接机制
- 常用STL(vector, map)
- 文件读写(fstream)
- jsoncpp解析json数据
- MySQL基本操作
实现的功能
- 注册
- 单点登录
- 登出
- 群聊(支持文本和图片的传送)
- 上线下线公告
- 在线用户记录
通信协议
为保证数据能够被正确发送和接收,本项目还自定义了一个协议
- 开始1B