1 Star 1 Fork 0

jonas_xu / FTPServer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

FTPServer

功能需求

  • 用户加密认证
  • 服务端采用 SocketServer实现,支持多客户端连接
  • 每个用户有自己的家目录且只能访问自己的家目录
  • 对用户进行磁盘配额、不同用户配额可不同
  • 用户可以登陆server后,可切换目录
  • 能查看当前目录下文件
  • 上传下载文件,保证文件一致性
  • 传输过程中实现进度条展示
  • 用户可在自己家目录进行创建目录、文件、删除目录及文件
  • 服务端可实现增加用户、删除用户
  • 支持上传时断点续传

知识点

  • 类的应用
  • 函数的使用
  • 多进程
  • 反射
  • socket、socketserver、hashlib、configparser、logging
  • 文件的读写

开发环境

  • python 3.6.1
  • PyCharm 2016.2.3

目录结构

FTPClient

   |--bin              (主接口目录)

  |--ftpclient.py    (客户端主程序接口文件)

  |--config           (配置文件目录)

   |--code.py (状态码文件)

   |--settings.py (配置文件)

   |--template.py (模板文件)

  |--download        (下载存放目录)

  |--lib              (模块目录)

   |--client.py (客户端各类接口封装)

   |--common.py (公共接口)

  |--logs            (日志目录)

   |--ftpclient.log (日志文件)

  |--clientRun.py (主执行程序)

FTPServer

   |--bin               (主接口目录)

  |--ftpserver.py      (服务端socket接口文件)

    |--main.py        (主程序接口文件)

  |--config            (配置目录)

   |--settings.py (配置文件)

   |--template.py (模板文件)

  |--database (数据保存目录)

   |--user.ini (用户信息文件)

  |--dbhelper (数据目录)

  |--dbapi.py (数据操作接口)

  |--lib (模块目录)

  |--user.py (用户类文件用来实例化对象)

   |--server.py (服务端模块,各类所有命令方法)

  |--common.py    (公共模块文件)

  |--logs

  |--ftpserver.log   (日志文件)

  |--upload (上传文件存放的目录)

  |--serverRun.py (主执行程序)

模块功能导图 Image 输出结果展示 Image

Image

Image

Image

Image

Image

空文件

简介

基于socket的FTP服务器 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jonas_xu/FTPServer.git
git@gitee.com:jonas_xu/FTPServer.git
jonas_xu
FTPServer
FTPServer
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891