课程设计:FTP的设计与实现
一、 目的
文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议。通过完成一个文件传送协议FTP的实现,学会利用已有网络环境设计并实现简单应用层协议,掌握TCP/IP网络应用程序基本的设计方法和实现技巧。
二、 内容和要求
每两人一组,分别实现FTP协议客户端程序和服务器程序。
客户端程序具有文件列表、下载文件、上传文件等常用功能。服务器程序支持改变工作目录、文件列表、下载文件等常用的服务。
因为FTP协议比较复杂,为了简单起见,客户端只实现FTP客户端协议的一个子集,总的来说有以下几个功能:
l 连接到指定的FTP服务器;
l 断开和主机的连接;
l 进入子目录;
l 退出子目录;
l 列出服务器当前目录下的所有文件
l 从服务器下载指定的文件到本地(可以同时指定多个文件连续下载)
l 从本地上传指定的文件到服务器
实现以上几个功能时会涉及到下面的几个FTP命令:
l USER username
l PASS password
l CWD directory-name
l CDUP
l PORT host-port
l TYPE A or I
l RETR filename
l STOR filename
l LIST pathname
用户界面应该能够为程序输入下面的信息:
l 服务器主机名
l 用户名、口令
l 数据的传送类型
l 要进入的服务器目录
l 要下载的远程文件名
l 要上载的本地文件名和远程文件名
同时,界面也为用户输出以下的信息:
l FTP服务器上的文件和目录列表
l 从服务器返回的应答