• 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

第三模块:面向对象&网络编程基础 第4章 FTP项目作业讲解的更多相关文章

  1. 第三模块:面向对象&网络编程基础 第3章 选课系统作业讲解

    01-选课系统作业讲解1 02--选课系统作业讲解2 03-选课系统作业讲解3 04--选课系统作业讲解4 01-选课系统作业讲解1 02--选课系统作业讲解2 03-选课系统作业讲解3 04--选课 ...

  2. 第三模块 面向对象& 网络编程基础 实战考核

    1.简述构造方法和析构方法. 构造方法(__init__):主要作用是实例化时给实例一些初始化参数,或执行一些其它的初始化工作,总之因为这个__init__只要一实例化, 就会自动执行,不管你在这个方 ...

  3. 第三模块:面向对象&网络编程基础 第2章 网络编程

    01-计算机基础 02-什么是网络 03-五层协议详解 04-传输层详解 05-什么是Socket 06-基于socket实现简单套接字通信 07-在简单套接字基础上加上通信循环 08-客户端与服务端 ...

  4. 第三模块:面向对象&网络编程基础 第1章 面向对象

    我的失败与梦想(一) 我的失败与梦想之为何创办路飞学城 01-编程范式 02-面向过程编程 03-面向对象编程介绍 04-定义类与实例化出对象 05-如何使用类 06-如何使用对象 07-属性查找与绑 ...

  5. 用Netty开发中间件:网络编程基础

    用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是很高,尤其是第一版,第二版能稍好些?入手后快速翻看了大半本,不免还是想对<Netty权威指南(第二版)&g ...

  6. python网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)

    python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程 并行与并发 同步与异步 阻塞与非阻塞 CPU密集型与IO密集型 线程与进程 进 ...

  7. python全栈开发从入门到放弃之socket网络编程基础

    网络编程基础 一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  8. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  9. Linux网络编程基础API

    第5章 Linux网络编程基础API 探讨Linux网络编程基础API与内核中TCP/IP协议族之间的关系,并未后续章节提供编程基础.从3个方面讨论Linux网络API. socket地址API.so ...

随机推荐

  1. 443M衣架遥控arduino代码备档

    ] = {,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}; ] = {,,,,,,,,,,,,,,,,,,,,,,, ...

  2. oracle空间分析

    相交 sdo_relate(t.geom, sdo_geometry(:geometry,null),\'mask=ANYINTERACT\')=\'TRUE\'

  3. hdu 1520 Anniversary party(第一道树形dp)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Time Limit: 2000/1000 MS (Java ...

  4. HDU 1078 FatMouse and Cheese ( DP, DFS)

    HDU 1078 FatMouse and Cheese ( DP, DFS) 题目大意 给定一个 n * n 的矩阵, 矩阵的每个格子里都有一个值. 每次水平或垂直可以走 [1, k] 步, 从 ( ...

  5. 有了SSL证书,如何在IIS环境下部署https?

    昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...

  6. ubuntu安装flashplayer插件三步走

    1.去官网下载flash;2.解压3.复制.so文件到~/.mozilla/plugins/

  7. Windows远程常见问题

    1.window2003远程桌面“已达最大连接数”解决:1)mstsc /v:(此处为服务器IP) /console   任务管理器注销已断开用户 mstsc /v:192.168.4.3 /cons ...

  8. layer 刷新某个页面

    一:使用layer.open打开的子页面 window.parent.location.reload()//刷新父页面 var index = parent.layer.getFrameIndex(w ...

  9. TinyMCE:下载、安装、配置

    第一步:下载 官网下载:https://www.tiny.cloud/download/ TinyMCE从4.0开始,不再支持直接下载,而是直接使用提供免费的CDN,让用户免除安装过程,可以在网站中使 ...

  10. 【NXP开发板应用—智能插排】4. PWM驱动

    [前言] 首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提 ...