作业:开发一个支持多用户在线的FTP程序

要求:

  1. 用户加密认证
  2. 允许同时多用户登录
  3. 每个用户有自己的家目录 ,且只能访问自己的家目录
  4. 对用户进行磁盘配额,每个用户的可用空间不同
  5. 允许用户在ftp server上随意切换目录
  6. 允许用户查看当前目录下文件
  7. 允许上传和下载文件,保证文件一致性
  8. 文件传输过程中显示进度条
  9. 附加功能:支持文件的断点续传(仅下载)

 

程序

1、最最重要的readme:

### 作者介绍:
* author:lzl
### 博客地址:
* http://www.cnblogs.com/lianzhilei/p/5813986.html

### 功能实现
    作业:开发一个支持多用户在线的FTP程序
    要求:
        用户加密认证
        允许同时多用户登录
        每个用户有自己的家目录 ,且只能访问自己的家目录
        对用户进行磁盘配额,每个用户的可用空间不同
        允许用户在ftp server上随意切换目录
        允许用户查看当前目录下文件
        允许上传和下载文件,保证文件一致性
        文件传输过程中显示进度条
        附加功能:支持文件的断点续传

### 目录结构:
    FTP
    │
    ├── ftpclient #客户端程序
    │      ├── __init__.py
    │      └── ftpclient.py  #客户端主程序
    └── ftpserver #服务端程序
            ├── README.txt
            ├── ftpserver.py #服务端入口程序
            ├── conf #配置文件目录
            │   ├── __init__.py
            │   └── setting.py
            ├── modules #程序核心目录
            │   ├── __init__.py
            │   ├── auth_user.py  #用户认证模块
            │   └── sokect_server.py  #sokectserver模块
            ├── database #用户数据库
            │   ├── alex.db
            │   ├── lzl.db
            │   └── eric.db
            ├── home #用户宿主目录
            │   ├── alex
            │   ├── lzl
            │   └── eric
            └── log
                ├── __init__.py
                └── log  #待扩展....

### 功能实现

    1、conf目录下settings.py模块记录可操作用户信息,根据用户信息生成用户字典和宿主目录,已经生成的不再新建
    2、每个用户的宿主目录磁盘空间配额默认为10M,可在settings.py模块里进行修改
    3、程序运行在windows系统上,程序要求全部实现,下面是具体命令操作
    4、切换目录:cd  ..  返回上一级目录    cd dirname   进入dirname
                 用户登录后默认进入宿主目录,只可在宿主目录下随意切换

    5、创建目录:mkdir dirname
                 在当前目录下创建目录,如果目录存在则报错,不存在创建

    6、查看当前路径: pwd

    7、查看当前路径下的文件名和目录名: dir

    8、下载文件(可续传):get filename
                 ①、服务端当前目录存在此文件,客户端不存在此文件,直接下载
                 ②、服务端当前目录存在此文件,客户端存在此文件名,之前下载中断,文件可续传,进行续传
                 ③、服务端当前目录存在此文件,客户端存在此文件名,大小与服务端一致,不下载

    9、上传文件:put  filename
                 判断宿主目录磁盘空间是否够用,可以,上传文件;否则,报错


### 状态码

    400 用户认证失败
    401 命令不正确
    402 文件不存在
    403 创建文件已经存在
    404 磁盘空间不够
    405 不续传

    200 用户认证成功
    201 命令可以执行
    202 磁盘空间够用
    203 文件具有一致性
    205 续传

    000 系统交互码
Readme

相关文章:

  • 2021-12-14
  • 2021-10-04
  • 2021-05-08
  • 2021-12-30
  • 2021-10-04
  • 2021-12-02
  • 2021-11-20
  • 2021-09-03
猜你喜欢
  • 2021-09-25
  • 2021-09-11
  • 2022-12-23
  • 2021-12-19
  • 2021-09-03
  • 2021-04-28
  • 2021-06-12
相关资源
相似解决方案