tiny netdisk based on linux platform
模拟云盘(2017.03-2017.05)vim+g++
项目描述:基于linux平台的云盘项目,分为客户端、代理服务器端、存储服务器端三个部分,实现了登陆/注册、命令控制、断点续传、高并发访问等功能。
项目要点:
1、 代理服务器端采用了半同步半异步的高并发模型,通过 libevent+线程池 模式进行事件处理,通过 消息通知+同步队列 机制进行任务分发
2、 通过定义信号处理函数,在程序收到信号终止时,记录下客户端状态,实现了断点续传。
3、 通过bufferevent实现了异步io,传输文件时使用sendfile和splice函数实现了零拷贝。
src文件夹:客户端、代理服务器端、存储服务器端代码
net文件夹:包括线程类、线程池类、连接类
mysql文件夹:项目中用到的数据库相关代码,基于c++封装