Skip to content

PYTHON SOCKET 开发一个支持多用户在线的FTP程序

Notifications You must be signed in to change notification settings

anysou/AS_Python_FTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AS_Python_FTP

PYTHON SOCKET 开发一个支持多用户在线的FTP程序

PYTHON SOCKET 开发一个支持多用户在线的FTP程序

要求:

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

README:

1.client连接server端需要验证账号密码,密码使用MD5加密传输,三次验证不成功即退出。 2.用户信息保存在服务器本地文件中,密码MD5加密存储。磁盘配额大小也保存在其中。 3.用户连接上来后,可以执行命令如下 目录变更:cd /cd dirname / cd . /cd .. 文件浏览:ls 文件删除:rm filename 目录增删:mkdir dirname /rmdir dirname 查看当前目录:pwd 查看当前目录大小: du 移动和重命名: mv filename/dirname filename/dirname 上传文件:put filename [True] (True代表覆盖) 下载文件:get filename [True] 上传断点续传: newput filename [o/r] (o代表覆盖,r代表断点续传) 下载断点续传: newget filename [o/r] 4.涉及到目录的操作,用户登录后,程序会给用户一个“锚位”----以用户名字命名的家目录,使用户无论怎么操作,都只能在这个目录底下。而在发给用户的目录信息时,隐去上层目录信息。 5.用户在创建时,磁盘配额大小默认是100M,在上传文件时,程序会计算当前目录大小加文件大小是否会超过配额上限。未超过,上传;超过,返回磁盘大小不够的信息。磁盘配额可通过用户管理程序修改。 6.文件上传和下载后都会进行MD5值比对,验证文件是否一致。 7.服务端和客户端都有显示进度条功能,启用该功能会降低文件传输速度,这是好看的代价。 8.文件断点续传,支持文件上传和下载断点续传。断点续传上传功能还会检测用户磁盘空间是否足够。(断点续传命令使用前面new+put/get命名,包含put/get所有功能,由于逻辑增多,代码复杂,特地保留原put/get,以备后用)。

程序结构:(看图片)

参考:https://www.cnblogs.com/zhengna/p/10081941.html

About

PYTHON SOCKET 开发一个支持多用户在线的FTP程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published