资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
FTP客户端设计与实现22020年4月19日文档仅供参考 目录摘要.2关键词.21.引言.22.FTP协议分析.2 2.1FTP工作原理.2 2.2FTP工作模式.4 2.3FTP传输模式.6 2.3.1ASCII传输方式.6 2.3.2二进制传输方式.63.FTP客户端的总体设计.6 3.1设计目的及工具的选择.6 3.1.1设计目的.6 3.1.2设计工具.7 3.1.3FtpClient类.7 3.2客户端主要模块设计.7 3.2.1客户端功能模块.8 3.2.2客户端界面设计.9 3.3数据流程图.9 3.3.1客户端连接流程图.9 3.3.2上传子模块流程图.11 3.3.3下载子模块流程图.124.FTP客户端程序实现.14 4.1客户端显示界面实现.14 4.1.1数据输入界面详细设计.14 4.1.2服务器文件信息显示界面详细设计.14 4.1.3上下载队列显示界面和信息显示界面详细设计.15 4.1.4操作按钮模块详细设计.15 4.2功能模块实现.16 4.2.1连接服务器.16 4.2.2上传文件.16 4.2.3下载文件.175. 功能运行测试.176.结语.20参考文献.21附录.22FTP客户端的设计与实现摘要:FTP是Internet上用来传送文件的协议。它是为了我们能够在Internet上互相传送文件而制定的文件传送标准,规定了Internet上文件如何传送。经过FTP协议,我们就能够跟Internet上的FTP服务器进行文件的上传或下载。本文以实现一个简单易用的FTP客户端为目标,经过分析FTP协议的基本工作原理和FTP的数据传输原理,研究如何使用Java工具对FTP客户端进行设计,选择Java类库中的FtpClient类来实现FTP客户端程序的上传下载等主要功能,并用eclipse软件提供的一个支持可视化编程的开发环境,从而实现了对FTP客户端的开发。关键词:FTP协议 ,工作原理,FtpClient,上传下载引言 当前,FTP服务已经是网络上广泛使用的一种服务了,它是建立在FTP协议上的用于网络环境下进行文件传输的一种文件传输系统,几乎能够传输各种类型的文件,如文本文件,声音文件,图像文件等。一个文件传输系统有服务器端程序和客户端程序共同组成的,客户端程序提供用户操作的界面并完成文件的上传和下载。在网络应用中,FTP有着非常重要的地位,在Internet中一个十分重要的就是资源,而各种各样的资源大多数都是放在FTP服务器中的,为了获得这些资源,我们必须使用FTP客户端软件。当前流行的有cuteFTP,WS_FTP,ByteCatcher,FTP Voyage等。为了方便用户的使用,本文将介绍一种基于Java的FTP客户端程序的设计与实现。 本文首先分析了FTP协议,FTP的工作原理等,然后介绍了如何使用Java工具来设计和实现一个简单的FTP客户端。使用本FTP客户端,能够使用户轻松的下载、上传网络资源。2. FTP协议分析 2.1FTP的工作原理 FTP(FileTransferProtocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。用户能够经过它把自己机器与世界各地所有运行FTP协议的服务器相连,访问服务器上的资源和信息。FTP协议在TCP/IP协议栈中的位置如表1: 表1 TCP/IP协议栈HTTP FTP TELN SMTP DNS TFTP NMP 应用层 TCP UDP 传输层 IP 互联网络层 X25 ISDN LAN WLAN FDDI ATM 网络接口层 当启动FTP从远程计算机拷贝文件时,事实上启动了两个程序:一个本地机器上的FTP客户端程序,它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应请求把你指定的文件传送到你的计算机中。FTP采 用“客户端/服务器”方式,用户要在自己的本地计算机上安装FTP客户端程序。 从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。FTP协议采用客户端/服务器(Client/Sever)模式,由FTP客户端程序和FTP服务器端程序组成。使用时,先启动FTP客户端程序与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。可是FTP有一个根本的限制,那就是,如果用户在某个主机上没有注册获得授权,即没有用户名和口令,就不能与该主机进行文件传输。但匿名FTP服务器除外,它能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“Anonymous”或“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问者进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件,而不允许上载文件。也就是说,用户只能从匿名FTP主机拷贝其需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其它一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息、数据和软件。人们只要知道特定信息资源的主机地址,就能够用匿名FTP登陆。2.2 FTP工作模式FTP采用C/S(客户端/服务器)模式进行通信,但与其它的C/S模式网络通信协议又有一个很大的区别。一般在进行HTTP通信或是TELNET通信的时候,只需要一个端口进行通信。即客户端只需要连接一个端口进行数据通信。如TELNET的默认端口是23,用户从头到尾都只需使用这个端口。可是FTP通信除了有一个默认端口21之外,还需要其它的端口。其中默认端口(21)主要进行控制连接,进行命令协议和服务器端的响应码的传输;另外一个非标准端口主要进行数据传递,如文件的上载、下载等。至于非标准端口的产生则要根据用户选择的连接模式而定:如果客户选择的是主动模式(PORT),则需要用户端提供给服务器一个IP地址和一个非标准端口;而如果用户采用被动模式(PASV),则服务器端需要提供给客户端一个IP地址和一个非标准端口。下表是几个著名的TCP端口号: 表2 TCP端口号TCP端口号 关键字 描述 20 FTP-DATA 文件传输协议数据 21 FTP 文件传输协议控制 23 TELENET 远程登录协议 25 SMTP 简单邮件传输协议 53 DOMAIN 域名服务器 80 HTTP 超文本传输协议 110 POP3 邮局协议 119 NNTP 新闻传送协议 FTP中字节大小有两个:逻辑字节大小和用于传输的字节大小。后者一般是8位 ,而前者可不一定是多少了。传输字节不必等于逻辑字节大小,也不必对数据结构进行解释。控制连接是建立在USER-PIT和SERVER-PI之间用于交换命令与应答的通信链路。数据连接是传输数据的全双工连接,传输数据能够发生在服务器DTP和用户DTP之间也能够发生在两个服务器DTP之间,FTP能够传输非连续的文件,这些文件的一部分称为页。服务器DTP代表一种传输过程,它一般处于“主动”状态,它和
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号