ftp题目怎么做

更新时间:01-29 教程 由 冷兮め 分享

ftp题目怎么做?

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

作业需求:

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

FTP实现实现并发,在main模块里进行修改,增加了mytherad.py

1.在之前开发的FTP基础上,开发支持多并发的功能 2.不能使用SocketServer模块,必须自己实现多线程 3.必须用到队列Queue模块,实现线程池 4.允许配置最大并发数,比如允许只有10个并发用户

C:.│ RAMDE│ │ __init__.py│├─ftpclient│ ..bak│ ..dat│ ..dir│ a.txt│ client.py -- 客户端│ __init__.py│└─ftpserver│ __init__.py│├─bin│ server.py ----- 启动文件│ __init__.py│├─conf│ │ account.ini ---- 用户数据│ │ setting.py ----- 配置文件│ │ __init__.py│ ││ └─__pycache__│ setting.cpython-36.pyc│ __init__.cpython-36.pyc│├─core│ │ logger.py ---- 日志│ │ main.py ----- 主程序│ │ main_server.py --- 解析命令│ │ mythread.py --- 实现线程,定义线程池│ ││ └─__pycache__│ logger.cpython-36.pyc│ main.cpython-36.pyc│ main_server.cpython-36.pyc│ __init__.cpython-36.pyc│├─home│ │ __init__.py│ ││ └─alex ---- 主目录│ a.txt│ │└─log --- 日志文件

注:需要在cmd上运行程序,否则会报错,服务端:python server.py start 客户端:python client.py -s ip地址 -P 端口

server.py

View Code

setting.py

View Code

logger.py

1 #!/usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 4 from conf import setting 5 import logging 6 import os 7 from logging import handlers 8 9 def logger_log(log_type): 10 log = logging.getLogger(log_type) 11 log.setLevel(setting.LOG_LEVE) 12 13 file_log = os.path.join(setting.LOG_PATH,setting.LOG_TYPE[log_type]) 14 fh = handlers.TimedRotatingFileHandler(file_log,when='D',interval=3,encoding='utf-8') 15 log.addHandler(fh) 16 17 file = setting.LOG_FORMATTER 18 fh.setFormatter(file) 19 return log

main.py

View Code

main_server.py

View Code

client.py

View Code

mythread.py

View Code

声明:关于《ftp题目怎么做》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2300800.html