摘要
文件传输协议(FileTransferProtocol,FTP),它是目前Internet上使用得最广泛的文件传送协议。起初,FTP并不是应用于IP网络上的协议,而是20世纪60~80年代美国国防部组建的ARPANET网络中,用于计算机间的文件传输的协议。时至今日,FTP仍然保持其可靠性,高速地传输文件,它还允许文件远程存取。这使得用户可以在某个系统上〖本文来自:毕业设计论文网www.paper51.com〗工作,而将文件存贮在别的系统。为了用户更方便的使用FTP服务,提供更好的人机交互界面,本课题将使用JAVA以及JBuilder的ftpclient库,基于Client/Server的架构方式,编写一个友善界面的FTP客户端工具,实现服务器连接、远程与本地目录浏览、文件上传和下载等基本FTP工具常用功能。
关键词:FTP;上传;下载
TheDesignandImplementationofFTPClient
Abstract
FileTransferProtocol(FTP),whichisthemostwidelyusedprotocolfortransmissionatpresent.Inthebeginning,theFTPisnotusedontheIPnetwork,butusedintheUnitedStatesDepartmentofDefensenetworkforthecomputerfiletransferagreementinthe1960'sto1980's.Today,FTPismaintainingitsreliability,high-speedtransmissionofdocuments,italsoallowsremoteaccesstodocuments,Userscanmanipulatedatainotherdifferentsystem,tomakeusersmoreconvenientuseFTPservices,haveabetterman-machineinterface,thissystemwillbewrittenbyJava,JBuilder,andtheftpclientlibrary.BasingonClient/Serverstructures,toprepareaFTPclienttoolwithafriendlyinterface,itcanlogintotheserver,browseremoteandlocaldirectory,uploadanddownload.
Keywords:FTP;Upload;Download
FTP客户端设计的原理,FTP使用两条TCP连接来完成文件传输:控制连接与数据连接。控制连接用于传输控制,数据连接用于数据输送。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服〖本文来自:毕业设计论文网www.paper51.com〗务器的端口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客户端,下面将分别对整个系统的图形界面、登录模块、远程浏览模块、本地浏览模块、上传模块和下载模块六大模块的程序实现细节进行详细介绍。