Ftp server and client simple python version(cmd-like).
在./ftp_srever/bin/目录下启动服务器
python ftp_server.py start
在./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编程,在服务器端主要设计部分为以下几部分:
- 对指定端口进行监听,对连入的用户进行鉴别,判断是否为合法用户,如果是合法用户则允许套接字传输,否则将会拒绝连接。
- 对客户端发起的操作请求进行及时响应,目前设计的相应操作主要分为以下几种
ls:显示当前文件夹下的文件列表
cd:进入指定的文件目录
pwd:显示当前所在的文件路径
mkdir:在当前文件夹下创建目录
mkfile:在当前文件夹下创建文件
mv:删除指定文件或文件夹
head:查看指定文件的前五行内容
get:从服务器中下载指定文件
put:从服务器中上传指定文件
服务器会对每个用户的操作默认为当前用户目录。
- 如果客户端的操作指令有误,服务器端将返回相应的错误信息帮助客户端的用户进行及时修改。
客户端的主要设计部分分为以下几部分:
- 对指定的服务器IP和端口发起连接请求,提供相应的用户名和密码完成用户验证。
- 向服务器发起各种操作指令,用于完成客户端的各种需求。