Day08 - 作业
2017-04-11 本文已影响0人
乘风逐月
一、作业:高级FTP
高级FTP服务器开发:
- 用户加密认证
- 多用户同时登陆
- 每个用户有自己的家目录且只能访问自己的家目录
- 对用户进行磁盘配额、不同用户配额可不同
- 用户可以登陆server后,可切换目录
- 查看当前目录下文件
- 上传下载文件,保证文件一致性
- 传输过程中现实进度条
- 支持断点续传
二、简单思路
- 用户加密认证
md5加密 - 多用户同时登陆
socketserver多线程 - 每个用户有自己的家目录且只能访问自己的家目录
判断要访问的目录地址是否要离开家目录 - 对用户进行磁盘配额、不同用户配额可不同
单独用户单独文件单独字典,磁盘配额写入该字典中,每次传文件前判断剩余空间是否足够存放文件 - 用户可以登陆server后,可切换目录
在用户家目录下切换 - 查看当前目录下文件
os.listdir
,用isfile
,isdir
来判断并改变显示颜色 - 上传下载文件,保证文件一致性
课程中的md5验证 - 传输过程中现实进度条
*已收取的文件大小 / 文件总大小 - 支持断点续传
暂停后再启动时,判断已收取大小,告诉服务端去seek到该地址
三、流程图
Day08 - 高级FTP四、参考站点
五、代码
略