FTP客户端软件的设计与实现
无需注册登录,支付后按照提示操作即可获取该资料.
摘 要
文件传输协议 (File Transfer Protocol, FTP),它是目前Internet上使用得最广泛的文件传送协议。起初,FTP并不是应用于IP网络上的协议,而是20世纪60~80年代美国国防部组建的ARPANET网络中,用于计算机间的文件传输的协议。时至今日,FTP仍然保持其可靠性,高速地传输文件,它还允许文件远程存取。这使得用户可以在某个系统上工作,而将文件存贮在别的系统。为了用户更方便的使用FTP服务,提供更好的人机交互界面,本课题将使用JAVA以及JBuilder的ftpclient库,基于Client/Server的架构方式,编写一个友善界面的FTP客户端工具,实现服务器连接、远程与本地目录浏览、文件上传和下载等基本FTP工具常用功能。
关键词: FTP;上传;下载
The Design and Implementation of FTP Client
Abstract
File Transfer Protocol (FTP), which is the most widely used protocol for transmission at present. In the beginning, the FTP is not used on the IP network, but used in the United States Department of Defense network for the computer file transfer agreement in the 1960's to 1980's. Today, FTP is maintaining its reliability, high-speed transmission of documents, it also allows remote access to documents, Users can manipulate data in other different system, to make users more convenient use FTP services, have a better man-machine interface, this system will be written by JAVA, JBuilder, and the ftpclient library. Basing on Client/Server structures, to prepare a FTP client tool with a friendly interface, it can login to the server, browse remote and local directory, upload and download.
Key words: FTP; Upload; Download
FTP客户端设计的原理,FTP使用两条TCP连接来完成文件传输:控制连接与数据连接。控制连接用于传输控制,数据连接用于数据输送。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,该连接一直保持到客户与服务器通信结束为当客户发出数据传输命令时,服务器会主动与客户建立数据连接,并与其进行数据交换。
客户端用户并不直接处理控制连接上的FTP命令和FTP响应,而是由两个协议解释器进行处理。用户接口为客户端用户提供一定形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将控制连接上的FTP响应转换成用户可理解的方式。在客户与服务器的整个连接期间,控制连接必须保持,而数据连接却可以根据请求动态地建立和关闭。在最常用的流模式中,文件结束是用数据连接的关闭来表示的,换句话说,每传输一个文件或文件列表,系统就会再建立一个新的数据连接。
系统需求分析与总体设计
3.1 需求分析
3.1.1 用户需求
软件要简单易上手,能够匿名或者使用帐号登录到用户指定的服务器上,进行访问和数据的上传下载。
3.1.2 功能需求
该系统主要包括以下几个方面:
1.可视化的交互界面模块;2.登录服务器模块;3.浏览服务器/本地目录和文件模块;4.上传/下载文件模块。由这四个模块构成该系统。
3.1.3 性能需求:
整个系统操作应当简便,界面友好,运行稳定,执行速度快。系统本身运行对计算机硬件平台和操作系统平台要求适中。
3.2 设计思路
上传下载程序主要完成文件的传输,是系统的核心模块。Jbuilder9提供的FTP控件已经对其进行了类封装,因而对用户而言它是透明的,不必再去编程解释响应消息等,这就是控件的好处。这样使用JBuilder9,就节约了大量的开发时间。即使对FTP不是很了解,都可以很快建立起一个FTP客户端程序来。由于本程序只是FTP客户端,下面将分别对整个系统的图形界面、登录模块、远程浏览模块、本地浏览模块、上传模块和下载模块六大模块的程序实现细节进行详细介绍。