• 01-FTP项目需求
  • 02-FTP项目框架搭建
  • 03-FTP项目用户认证
  • 04--FTP项目制定标准定长消息头
  • 05-FTP项目下载功能开发
  • 06-FTP项目下载功能开发2
  • 07-FTP项目ls文件列表实现
  • 08-FTP项目目录切换功能
  • 09-FTP项目目录切换之相对路径问题解决
  • 10-FTP项目文件上传功能
  • 11-FTP项目进度条功能开发
  • 12-FTP项目进度条功能优化
  • 13-FTP项目断电续传功能开发
  • 14-FTP项目断电续传功能开发2
  • 15-FTP项目断点续传功能开发3

01-FTP项目需求

1、需求分析;

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __Author__:Administrator
# Version:Python3.6.5
# Date:2018/6/23 0023 20:49
""
"""
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。
需求:
1、支持用户认证;
2、支持多用户-存储了多个用户的账户信息;
3、每个用户有自己的家目录;
4、用户可以在自己的家目录里面进行目录切换操作;
5、用户可以查看当前目录的文件列表,文件名、文件大小;
6、断点续传功能;开发思路:边下载边往本地写,总大小-已经下载的大小,继续写未写的部分;
get file
put file
进度条显示
del file
mkdir dir
对代码的要求:
1、设置目录结构;
2、遵循软件开发规范;
MadFtp目录结构举例:
server
bin
ftp_server.py
conf
settings.py
HOST=""
PORT= 9000
HOME_DIR = "home"
account.py
#configparser模块;

alex:{
password:fdasf,
home:/home/tqtl,
quotation:400
}

core|modules|lib
main.py#程序主逻辑代码
......
......
log
access.log
#error.log
client
mad_client.py -h 192.168.1.23 -p 9999
username:
password:
#把复杂问题简单化思考;
#一边写一边调试Server.py;
#就得憋出来;要不然凭什么给你十几k薪水;
#项目会比这个复杂几十倍,难道就不完成了吗?
class FTPServer():
def handle():
cmd = data.split()#Get file1
if hasattr(self,cmd)
func = getattr(self.cmd)
func(cmd)
def get(*args,**kwargs)
def put(*args,**kwargs)
def mkdir(*args,**kwargs)
"""

02-FTP项目框架搭建

03-FTP项目用户认证

04--FTP项目制定标准定长消息头

05-FTP项目下载功能开发

06-FTP项目下载功能开发2

07-FTP项目ls文件列表实现

08-FTP项目目录切换功能

09-FTP项目目录切换之相对路径问题解决

10-FTP项目文件上传功能

11-FTP项目进度条功能开发

12-FTP项目进度条功能优化

13-FTP项目断电续传功能开发

14-FTP项目断电续传功能开发2

15-FTP项目断点续传功能开发3

最新文章

  1. XF custom render 各平台实现类
  2. Expert 诊断优化系列------------------语句调优三板斧
  3. jdbc中c3p0的配置信息
  4. .Net Oauth2.0 第三方登录开发(Facebook ,LinkedIn )
  5. Java递归实现操作系统文件的复制、粘贴和删除功能
  6. Linux学习之七——乱码的解决方案
  7. arcgis下载
  8. Servlet3.0学习总结(四)——使用注解标注监听器(Listener)
  9. 数字操作 转为false的类型 typeof操作符 isNaN函数
  10. 深入解析java String中getBytes()的编码问题
  11. 只需要一点点C++基础,新手也可以制作单机游戏内存修改器
  12. iOS ipa包瘦身------删除无用图片资源
  13. 内部类访问局部变量为什么必须要用final修饰
  14. Spark思维导图之Shuffle
  15. CSS魔法堂:Flex布局
  16. JS打开新窗口防止被浏览器阻止的方法
  17. asp.net 获取网站根地址
  18. 安装二维码、条形码识别工具zbar
  19. 九度OJ 1067 n的阶乘 (模拟)
  20. git项目,VSCode显示不同颜色块的含义

热门文章

  1. iOS一个很好的内存检测工具
  2. 关于$NOIP2017$的题目讲解
  3. oracle之DQL
  4. 『ACM C++』 PTA 天梯赛练习集L1 | 050-51
  5. HDU 2065 "红色病毒"问题(生成函数)
  6. 分布式网上商城项目-solr搜索功能错误
  7. Elasticsearch 索引操作
  8. 学习新框架laravel4 第一天(- -! 新公司版本使用的4,所以还要重新学习)
  9. Centos7 Redis3.0 集群搭建备忘
  10. N个点中寻找多个最近两点的计算O(N²)