(QT) C++ 版本IM通信软件(客户端+服务器文本聊天、文件断点续传、在线用户搜索)

紧接着上一节课程,这次的作业是要求实现一个简易版的“QQ”,可支持“软件需求”所列出的功能。当时由于图方便便选择了QTCPSocket进行整个过程的通信(事后才知道有多坑)。服务端界面比较简单,就几个按钮一个进度条,主要在客户端实现了基本的功能和界面。整个学习和开发阶段持续了将近3个礼拜,可谓是历史悠久。总的来说功能都实现了,但是存在一定的bug,估计以后也没时间去搞了,留在这儿当做一个自我的学习记录和新手的学习借鉴Demo。

运行要求

  • 同一局域网,默认端口:1234和4321,分别是聊天服务和文件服务。
  • 服务端代码为:SocketServer.rar
  • 客户端代码为:SocketClient.rar

软件需求

  1. 支持文本消息的传输;
  2. 支持局域网内在线用户搜索的功能;
  3. 可以采用c/s或者b/s结构,也可以混合结构;
  4. 支持文件传输功能;
  5. 支持1GB大小的数据文件正确传输;
  6. 支持断点续传的功能。

主要特点为

  1. 利用QTCPSocket完成通信,包括聊天和文件上传。
  2. 仿QQ双击条目打开窗口聊天,收到消息自动弹窗。
  3. 支持拉取历史聊天记录,从服务获取,默认全时间段。
  4. 利用QLineEdit组合QPushButton实现在线用户搜索,并高亮显示。
  5. 可支持跨机器的登录与注册。
  6. 服务端推送的在线用户列表,客户端实时更新。
  7. 轻量级的sqlite数据库,无需配置额外环境。
  8. 用户下线的监听,包括正常下线和异常下线,都可捕获。
  9. 支持离线文件传输,A客户端先发送到服务端,服务端保存一份,再发送到B客户端。
  10. 支持GB级大文件的快速传输。
  11. 支持断点续传,客户端点击暂停模拟断开链接或者客户端关闭窗口或者客户端下线,点击重新发送重连服务端进行续传即可。

猜你喜欢

转载自blog.csdn.net/u012534831/article/details/82731939
今日推荐