python 实现简单的FTP
一、开发环境 server端: centos 7 python-3.6.2 客户端: Windows 7 python-3.6.2 pycharm-2018 程序目的: 1、学习使用socketserver实现并发处理多个客户端。 2、了解使用struct解决TCP粘包。 二、程序设计 (本人菜鸟一枚,对于开发规范,接口设计完全不懂,完全是随心所欲,自娱自乐。写博客主要是记录自己学习的点点滴滴,如有不足之处还请见谅。) 1、server端 1.1 目录结构如下: 1.2 目录简介: FTP_SERVER: 程序主目录 app: 程序主逻辑目录,目录下有四个模块: FTPserver.py: FTP Server端启动入口。 login.py: 认证注册模块,用于处理用户注册,登录认证。 dataAnalysis.py: 命令解析模块,负责解析,执行客户端命令。 FileOpertion.py: 负责文件读,写。数据发送,数据接收。 db: 存放user_pwd.db文件,用于存放用户信息(用户名,密码,FTP目录总空间,已使用空间等) lib: 存放公共数据。 1.3 模块中类的继承关系 1.4 执行流程 1.4.1 程序启动文件FTPserver.py,程序启动后进入监听状态。核心代码如下: class MyFtpServer(socketserver