# NetdiskProject **Repository Path**: heathhou/NetdiskProject ## Basic Information - **Project Name**: NetdiskProject - **Description**: 在线社交云盘项目的实现。 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-11-05 - **Last Updated**: 2024-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NetdiskProject # 项目介绍 该项目是基于Qt框架的C++项目,实现了社交功能以及云盘存储个人文件的功能,包括注册登录、好友系统、好友私聊、群组聊天、离线聊天、文件操作、多线程上传下载文件、分享文件等功能等。 # 项目技术栈 主要编程语言:C++ 开发平台:Qt Windows 4.11.1 使用数据库:MySQL 设计特性:单例设计模式、多线程线程池、离线聊天、网络通信、粘包半包 # CSDN博客 详细解析了各个功能是如何实现的 https://blog.csdn.net/weixin_50354282?spm=1010.2135.3001.5343 # 开发时间表 基础功能,在13天左右完成,开发计划如下: Day1 【初始化】完成客户端与服务器进行连接 Day2 【初始化】完成消息协议的设计、测试客户端与服务器的收发能力 Day3 【基础功能】完成数据库的搭建、实现登录注册功能 Day4 【页面设计】界面设计(主页面、好友页面、文件界面)、查找用户、显示在线用户 Day5 【项目优化】函数封装(消息处理器) Day6 【好友功能】添加好友、刷新好友列表、删除好友 Day7 【好友功能】聊天界面设计、好友聊天 Day8 【文件功能】初始化文件系统、创建文件夹、刷新文件夹 Day9 【项目优化】处理粘包半包 Day10【文件功能】删除文件夹、进入文件夹、返回上一级 Day11【文件功能】重命名文件、移动文件 Day12【文件功能】上传文件、下载文件 Day13【文件功能】分享文件 进阶功能,在6天左右完成,开发计划如下: Day1 【群聊功能】数据库表设计、UI界面设计、创建群聊 Day2 【群聊功能】邀请好友,移除本群、添加管理 Day3 【多线程/线程池】客户端多线程上传文件、服务器实现线程池 Day4 【多线程/线程池】客户端多线程下载功能 Day5 【离线聊天】数据库表设计、离线数据的存储 Day6 【离线聊天】客户端拉取离线数据 # 还待开发功能 4、断点续传功能:分页发送,分页接收并分页存储 5、离线传输文件 6、秒传功能:服务器文件采用哈希,对于服务器已有的文件,可以实现秒传(多个客户端使用一份资源) 7、部署集群服务器,使用redis存储热点数据、离线数据