Skip to content

基于Qt的C++项目,实现了网盘的基础功能,包括注册登录、好友系统、私聊群聊、文件操作、分享文件等功能,实现了网络通信、多线程等。

License

Notifications You must be signed in to change notification settings

jjkhl/NetworkDisk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetworkDisk

基于Qt的C++项目,实现了网盘的基础功能,包括注册登录、好友系统、私聊群聊、文件操作、分享文件等功能,实现了网络通信、多线程等。

⭐项目技术栈

主要编程语言:C++

开发平台:Qt Windows 5.14.2

设计特性:单例设计模式、网络通信

✈️项目参考资源

【收藏】c++项目实战,手把手教你搭建属于自己的网盘系统~_哔哩哔哩_bilibili

💕学习笔记

详细记录了开发的流程,同时包含了开发过程中遇到的问题和解决方案。如有错误,请您指正。

LightInk2020的C++项目 (notion.site)

🕊️开发时间表

项目开始于2022年7月,计划在两个星期左右完成,大概开发时间表规划如下:

  • 07月22日 【初始化】项目初始化、搭建数据库
  • 07月23日 【初始化】客户端/服务器初始化搭建
  • 07月24日 【基础功能】登录注册退出注销功能实现
  • 07月25日 【页面设计】主页面、好友页面、所有在线用户页面
  • 07月25日 【好友功能】查看用户、查找用户、添加好友
  • 07月26日 【好友功能】刷新好友列表、删除好友
  • 07月26日 【好友功能】私聊、群聊
  • 07月27日 【页面设计】文件系统页面
  • 07月27日 【文件功能】创建文件夹、查看文件、删除文件
  • 07月28日 【文件功能】文件重命名、进入文件夹
  • 07月28日 【文件功能】返回上一级、上传文件
  • 07月29日 【文件功能】下载文件、移动文件
  • 07月30日 【文件功能】分享文件
  • 07月30日 【总结】总结回顾

其他拓展功能的开发待定

  • 将服务器端程序部署到服务器上
  • 已实现群聊是所有好友聊天,之后可以实现为部分好友构建群进行群聊方式
  • 采用redis数据库
  • 页面UI优化
  • 优化代码,例如减少冗余代码、减低耦合度、规范化变量命名等

启动注意事项

  • windows系统需要将服务器和客户端的loadConfig()函数中的strData.replace("\r\n"," ")\r\n替换为\n
  • 需要在mysql中添加数据库networkdiskdb,并在服务端的void DBOperate::init()中修改自己的数据库用户名和密码

待改进功能

  1. 私聊需要刷新好友才能显示,且不能发送中文
  2. 好友添加后也是需要刷新好友才能显示
  3. 消息提示框不够明显

💻主要贡献者

@Light Ink@Evil Hare

About

基于Qt的C++项目,实现了网盘的基础功能,包括注册登录、好友系统、私聊群聊、文件操作、分享文件等功能,实现了网络通信、多线程等。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.0%
  • C 10.0%
  • QMake 2.0%