luyao777 / ftp-python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ftp-python

Ftp server and client simple python version(cmd-like).

使用方法

server:

在./ftp_srever/bin/目录下启动服务器

python ftp_server.py start

client:

在./ftp_client/目录下启动客户端

根据server中ip地址端口以及用户账号配置填充。

python ftp_client.py -s 127.0.0.1 -P 9999 -u test001 -p 123

相关文件

./ftp_server/accounts.cfg 用户账号控制文件

./ftp_server/setttings.py 服务器ip地址以及端口控制

服务器端

本系统使用socket编程,在服务器端主要设计部分为以下几部分:

  1. 对指定端口进行监听,对连入的用户进行鉴别,判断是否为合法用户,如果是合法用户则允许套接字传输,否则将会拒绝连接。
  2. 对客户端发起的操作请求进行及时响应,目前设计的相应操作主要分为以下几种
    ls:显示当前文件夹下的文件列表
    cd:进入指定的文件目录
    pwd:显示当前所在的文件路径
    mkdir:在当前文件夹下创建目录
    mkfile:在当前文件夹下创建文件
    mv:删除指定文件或文件夹
    head:查看指定文件的前五行内容
    get:从服务器中下载指定文件
    put:从服务器中上传指定文件

服务器会对每个用户的操作默认为当前用户目录。

  1. 如果客户端的操作指令有误,服务器端将返回相应的错误信息帮助客户端的用户进行及时修改。

客户端

客户端的主要设计部分分为以下几部分:

  1. 对指定的服务器IP和端口发起连接请求,提供相应的用户名和密码完成用户验证。
  2. 向服务器发起各种操作指令,用于完成客户端的各种需求。

About

License:MIT License


Languages

Language:Python 100.0%