-
Notifications
You must be signed in to change notification settings - Fork 0
zangfans/FTP_Server
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
FTP-Socket """ __author:zangfans 2017-10-25 """ 功能说明: 本程序是一个模拟 FTP 的应用,包括客户端和服务端,实现如下功能: 1 可以实现多客户端连接, 服务端采用 SocketServer 模块实现,支持多客户端连接 2 实现客户端登录验证, 对客户端登录时采用 sha224 加密算法进行加密, 3 对用户访问目录进行限制,只允许在自己家目录下进行访问,不能进入其他用户目录 4 对用户上传目录磁盘进行限制,支持不同用户定义不同大小,默认500M 5 支持文件上传、下载的进度显示 6 支持一下命令功能 put: 上传文件 get: 下载文件 show: 显示文件夹内容 cd: 目录切换 7 支持断点续传,暂只支持上传时的断点续传,下载暂未实现 目录介绍: client: |--start.py (主引导程序文件) | |--bin (主接口文件目录) | |-- ftpclient.py (主接口文件,登录接口、调用命令模块主文件) | |--conf (配置文件目录) | |-- codes.py (状态码文件) | |-- settings.py (系统配置主文件) | |-- tempate.py (模板文件) | |--download (文件下载存放目录) | |--logs (日志目录) | |-- ftpclient.log | |--module (模块目录) | |-- common.py (公共模块) | |-- client.py (客户端类文件,定义客户端所有命令的方法) ----------------------------------------------------------------------------------- servr: |--start.py (主引导程序文件) | |--bin (主接口文件目录) | |-- ftpserver.py (主接口文件,登录接口、调用命令模块主文件) | |--conf (配置文件目录) | |-- settings.py (系统配置主文件) | |-- tempate.py (模板文件) | |-- database (数据保存文件) | |-- breakpoint (断点续传记录文件保存目录,每个用户一个文件) | |-- user.ini (用户信息保存文件) | |-- dbhelper | |-- dbapi.py (数据操作接口) | |--upload (用户上传文件存放目录,下面存放所有用户的家目录,一个用户一个文件夹) | |--logs (日志目录) | |-- ftpclient.log | |--module (模块目录) | |-- common.py (公共模块) | |-- server.py (服务端模块文件,定义服务端所有命令的方法) | |-- users.py (用户类文件,每个客户端连接后会生成一个用户对象,这个类文件用来实例化用户对象) 应用关键模块及知识点: 1 模块: socket, socketserver, hashlib(md5,sha224),mutilprocess 2 知识点: 多进程、反射、类
About
ftp服务器
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published