ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:304.15KB ,
资源ID:11078647      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11078647.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FTP文件传输课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FTP文件传输课程设计.docx

1、FTP文件传输课程设计FTP文件传输课程设计摘 要进入信息时代,随着互联网普及,只要接上网络,就能从网上找到庞大的数据资源,其内容包罗万象,可以说几乎任何人都可以在Internet资源中找到自己所需要的信息资源。有了网络,使用者不但可以浏览各种各样的信息资源,还能够将自己感兴趣的资源下载到本地机上。计算机之间数据的传输大多是通过文件传输协议FTP来完成的。FTP使用两个TCP连接来实现文件传送操作。FTP可以管理四类不同的文件类型,且可用多种模式传输文件。本系统是用JBuilder 9.0作为开发工具完成的,系统有着良好的界面,简单易用,系统开发的总体任务是连接FTP服务器,上传/下载文件;并

2、使用Serv-U软件构建FTP服务器,使客户端用户能够通过互联网访问FTP服务器,进行信息资源的共享和传输。论文首先介绍FTP文件传输协议的原理和工作的机制。然后简要介绍开发FTP客户端应用程序的一些详细的步骤(如何建立文件传输的数据连接过程)并提供了一个完整的JAVA实现的文件传输程序模块,以此来演示使用JAVA开发FTP客户端应用程序的一些具体细节。本次论文的设计,即从需求分析,软件设计到软件功能实现,都始终遵循软件工程的思想和数据库的设计方法。在本文中采用了大量的图表说明,使文章明确清晰,便与阅读和理解。 关键词: FTP文件传输系统 ,JBuilder 9.0, 网络技术,软件工程AB

3、STARCTDuring entering to the information times, along with the Internet universal, so long as connect with the net, you can find out the huge data resources from the Internet. It is almost said that everyone can find out the information resources which you need in the Internet. Had the network, the

4、user can not only browse various of information resources, but also download resources which you are interested in. Most of the data transfer between computers are realized through file transfer protocol-FTP. Generally FTP means file transfer service. Using two TCP connections, FTP can realize file

5、transfer.This software system completes with the JBuilder 9.0 tools. And the system has good interface, using in brief and easily. The total mission of the system is to link the server of FTP, spreading up/ download documents.And a FTP server can be built by the software of Serv-U.The user of client

6、 side then can visit the FTP server to upload or download the files.Firstly this design introduces the mechanics and principle of File Transportation Protocol (FTP). Then detailed steps (how to make a data link for file transport) of developing the FTP Client are presented. A programming module of f

7、ile transport, written in java is available to demonstrate the specifics of developing a FTP Client Application in JAVA.The design of this software, namely analytical from the need, the software designs the function to carry out, all following the thought of the software engineering and the design m

8、ethod of the databases always. This text had a great deal of chart elucidation, make the article definitely clear, then with read and comprehend easily.Key Words: FTP File transportation system, JBuilder 9.0, network technique, software engineering.目录摘 要 IABSTARCT II目录 III第一章 绪论 111课题简介 112 FTP的工作原理

9、 1121 FTP连接 1122 FTP数据处理 2123 FTP命令以及响应 2124 FTP登陆 213 相关技术和开发工具 2131 JAVA简介 3132 Jbuilder 9.0编程环境 3133 C/S的网络通信模式 4134 FTP服务器端软件Serv-U 4第二章 系统需求分析 621 任务概述 622 设计思想 623 系统工作流程与结构 624 用例描述 725 分析与设计 1026 相关类的设计 13第三章 系统界面设计及模块实现 1631 功能说明 1632 程序设计流程图 1633 各界面的设计 163. 3. 1 主界面设计 163. 3. 2 连接FTP服务器界面

10、设计 173. 3. 3 文件处理界面设计 1834 模块功能介绍及核心代码 203. 4. 1 登录模块 203. 4. 2 浏览模块 203. 4. 3 文件上传模块 213. 4. 4 文件下载模块 213. 4. 5 断开与服务器的连接 22第四章 软件测试 2341 确定测试策略 2342 划分输入等价类 2343 建立测试用例 23结 论 25参考文献 26致 谢 27第一章 绪论11课题简介随着Internet技术的兴起与发展和网络技术的蓬勃发展,人们希望通过互联网来共享网络上的资源,便于为自己结省成本,这就迫切需要实现网络与数据库的互连。网络技术发展到今天,人们已经可以把数据库

11、技术引入到Web 系统中。随着软件工程学的迅速发展,软件测试的理论也不断完善,软件测试的实施在整个软件生命周期中的地位也越来越重要,其工作量占软件开发总工作量的40%以上。软件测试已成为软件生产中必不可少的质量保证手段。FTP是Internet上使用最广泛的应用之一。FTP服务是以它所使用的文件传输协议(File Transfer Protocol)命名的。 目前Internet上几乎所有的计算机系统上,都带有FTP工具,用户通过它可以将文档从一台计算机上传到另外一台计算机上。普通的FTP服务要求用户必须在要访问的计算机上有用户名和口令。而Internet上最受欢迎的是称为匿名(anonymo

12、us)FTP的服务,用户在登录这些服务器时不用事先注册一个用户名和口令,而是以anonymous或ftp为用户名,自己的电子邮件地址为口令即可。匿名FTP是目前Internet上进行资源共享的主要途径之一。它的特点是访问方便,800616操作简单,容易管理。Internet上有许多的资源都是以FTP的形势提供给大家使用的,包括各种文档、软件工具包等等。所以我选了些课题,想通过现在最热门的Java语言来实现FTP功能。12 FTP的工作原理FTP(File Transfer Protocol,文件传输系统)是Internet上使用非常广泛的一种通信协议(属于TCP/IP),它是由支持Intern

13、et文件传输的各种规则组成,这些规则使Internet用户可以把文件从一个主机拷贝到另一个主机上。FTP支持多种文件类型和文件格式,包括ASCII文件和二进制文件。下面将从FTP连接,FTP数据处理,FTP命令及响应三个方面来介绍FTP工作原理121 FTP连接FTP使用两条TCP连接来完成文件传输:控制连接和数据连接。控制连接用于传输控制,数据连接用于数据传输。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时候,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,该连接一直保持到客户与服务器通信结束为止。当客户发出数据传输 命令时候,服务器会

14、主动与客户建立数据连接,并与进行数据交换。客户端用户并不是直接处理控制连接上的FTP命令和FTP响应,而是由两个协议解释器进行处理。用户接口为客户端用户提供一定形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将控制连接上的FTP响应转换成用户可以理解的方式。122 FTP数据处理FTP协议规范中提供了多种用于文件控制的传输和存储方式,主要包括:1)文件类型处理:ASCII文件类型,EBCDIC文件类型,图象文件类型,本地文件类型 2)格式控制:格式控制只能应用于ASCII文件和EBCDIC文件类型,有非打印格式控制,TELNET格式控制以及FORTRAN格式控制三种,其中默认为

15、非打印格式控制,该格式控制下,文件不包括任何格式信息。3)结构: 结构分文件结构,记录结构和页结构三种。默认为文件结构,即将文件看成是一个连续的字节流,没有内部结构。记录结构可勇于文本文件。页结构中,每一个页都有一个页号,允许接收者以及任意的顺序存储页。4)传输模式: 传输模式用于说明文件是如何在数据连接上进行传输的。主要有以下三类: 流模式:将文件当作一个字节流来传输。 块模式:将文件当作一系列的数据块来传输。123 FTP命令以及响应 在控制连接上,FTP命令以及响应都是以NVT ASCII格式进行传输的,并且每一行用CR和LF作为结束。一般来说,FTP命令是由3到4个字节大写ASCII字

16、符组成的,其中有一些命令有参数。一般的FTP响应是以3个ASCII数字作为前导,其后跟相应的消息,其中23位数字相应消息由客户程序进行分析处理,后面的消息是提供给客户阅读的。124 FTP登陆实际上存在两种FTP登录方式:一种是匿名的,之所以称之为匿名的是因为任何人都可以访问它。该站点允许那些使用Anonymous用户名以及E-MAIL地址作为密码的用户访问它.在匿名登录的方式下,一些访问类型受到了限制,如大多数站点允许下载,但是不允许匿名用户上传资料;另一种是非匿名的,这是需要一个合法的用户名和密码.用户和密码通常是系统管理员或者ISP尤其是所有者提供的.如果没有用户名和密码,将会被拒绝访问

17、。13 相关技术和开发工具 本章节将介绍开发FTP文件传输系统的相关的技术和开发工具。涉及到的内容包括:JAVA语言,开发工具JBUILDER 9的,C/S网络通信模式以及服务器端的软件Serv-U的相关知识和技术。131 JAVA简介 Java来自Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C+,但是C+太复杂,安全性差,最后基于C+开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而且安全的语言,Sun公司曾依此投标一个交互式的

18、电视项目,但是结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组的成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进军Internet。Java的取名叶有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java咖啡,有一个人灵机移动说叫Java怎样,得到了其他人的赞赏,于是Java这个名字就这样传开了。作为一种编程语言,JAVA拥有一些很独特的特性:安全的(Secure):Java是被设

19、计用于网络及分布式的环境中,安全性自必是一个很重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病毒的侵入和破坏行为的发生。 结构中立的(ArchitectureNeutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(ObjectFileFormat);这使得编译码得以在很多种处理器中执行。 可移植的(Portable):原始资料型式的大小是被指定的,例如float一直是表示一个32位元IEEE7

20、54浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。 解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。 高效能的(HighPerformance):Java位元码迅速地能被转换成机器码(MachineCode),从位元码转换到机器码的效能几乎与C与C+没有分别。 多线程的(Multithreaded):Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助

21、的。动态的(Dynamic):Java比C或C+语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新,而必须重新编译程序。132 Jbuilder 9.0编程环境Jbuilder是Borland公司的重点产品。随着JAVA语言的流行,越来越多的开发者青睐这个可视化的JAVA应用开发工具。使用Jbuilder来进行JAVA开发,可极大的加快生手的学习速度,缩短熟手的开发时间,因此在短短几年内成为广大程序员最喜爱的开发工具之一。Jbuilder 9.0则集成了软件开发、测试、部署、管理等工具,极大的提高项目的开发速度。作为一款经典的开发工具,它之所以能吸引越来越多的开发人员,是由于

22、它的几个非常重要同时也很独到的特性。(1) 结构易于创建结构易于创建JBuilder提供创建平台独立的GUI工具的方式与众不同。从表面上看,JBuilder就与Visual Cafe或Visual Age for Java一样,它默认使用一种叫做XYLayout的布局结构。这个特性允许程序员以所见即所得的方式将组件放到结构中。 (2) 结构的可维护性在JBuilder中设置网格限制相当容易,对任何给定的组件用户都可以弹出一个网格限制对话框,在对话框中可以设置一些网格限制参数,如垂直或水平挤压和填充等。除此之外,用户也可以直接到网格限制属性对话框中进行设置。尽管JBuilder不能象Java W

23、orkshop那样在网格布局结构中直接移动组件或调整其大小那样容易和直观,但还是可以完成的。 (3) 可视化编程JBuilder提供了一个交互向导(Interactive Wizard)作为可视化编程工具。其目的是能够自动完成组件之间的一些简单的交互操作。然而它的不足之处是交互向导远不够直观而且缺乏一个高级的程序员所要求的灵活性。比如当用户使用它来产生一组代码以便当按下某个开关时可以将文本从一个编辑控制放到一个选择列表中。133 C/S的网络通信模式C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理

24、分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C

25、/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。134 FTP服务器端软件Serv-UFTP个人服务器提供了给同一网络中的其他机器互相访问的功能,如:上传文件,下载文件等实现资源的共享。Serv-U是Rob Beckers开发的一个功能强大的、简单易用的、成熟的FTP服务器,FTP服务器用户通过Internet的FTP协议共享文件。Serv-U不仅仅能100%适用于标准的FTP,同样也包括了很多功能,是一个完美的文件共享解决方案。FTP Serv-U最新的版本是6.2,新的版本支持SSl FTP传输,支持在多个

26、Serv-U和FTP客户端通过SSL加密连接保护您的数据安全。是一个适合各种大小空间管理的服务器,它不仅仅拥有的很多高级的管理工具,他还是一个简单应用和安全的标准。Serv-U是众多FTP服务器中比较通俗一个、同时拥有众多高级和管理工具。FTP Serv-U其他的安全功能:用SSL加密数据、ODBC的支持、带宽限制、目录和文件的权限管理、IP限制、定制安全设置。第二章 系统需求分析21 任务概述整个整个文件传输系统是由服务器端服务程序和客户端应用共同组成。FTP服务器端的程序由服务器端的软件ServU来控制,负责接受和处理客户端的请求。客户端由5个模块组成:连接模块,下载模块,上传模块,目录浏

27、览模块,以及界面组成,所有的模块功能通过界面同用户交流。22 设计思想利用JAVA的网络类库中专门针对FTP文件传输的相关类以及方法,实现与现有的FTP服务器的连接与通信。利用C/S网络应用模型的相关特点与知识,配合开发工具的自身的特点实现FTP文件传输系统。23 系统工作流程与结构 FTP的客户端程序的设计主要有四个部分:客户登陆程序设计,FTP服务器目录浏览程序,FTP服务器目录更新程序设计,上传和下载文件程序设计.而相应的操作流程为:首先客户端程序先连接服务器;然后浏览或更新FTP服务器目录;选择文件进行下载和上传;进行文件数据传输;最后断开连接.由于JBULIEDER提供的FTP控件已

28、经对其进行了类的封装, 因而对用户来说它是透明的,不必在去编程解释响应消息了.这样使用JBULIDER9,就节约了大量的开发时间.下图是文件传输系统的系统结构:图2-1文件传输系统的结构24 用例描述客户端实现的功能:能连接到一个远端的FTP服务器从远端服务器下载文件能向远端服务器上传文件能断开和当前远端服务器的连接从功能上得到四个用例:建立连接 下载文件 上传文件 断开连接用例图如下所示:图2-2 客户端用例图每个用例描述文件如下:(1)建立连接“建立连接”用例描述了用户建立连接的整个过程。具体描述下:用例名称:建立连接用例说明:通过网络连接到一个FTP服务器通信协议:使用FTP协议基本过程

29、:1)输入FTP服务器的信息2)用户发出建立或连接FTP服务器的请求3)连接到指定的FTP服务器(2)下载文件“下载文件”用例描述了用户从服务器下载文件到本地文件夹的过程。具体描述如下:用户名称:下载文件用户说明:用户获取远端服务器提供的服务,下载远程服务器上的文件到本地通信协议:使用FTP协议基本过程:1)用户确定需要下载的远端文件的信息2)用户确定保存文件的本地路径3)向服务器发送下载文件的请求4)从远端服务器获取文件5)保存文件到本地磁盘基本过程中使用了FTP协议提交下载文件的请求,并且获取远端文件。(3)上传文件“上传文件”用例描述了用户从本地上传文件到服务器的过程。具体描述如下:用例

30、名称:上传文件用例说明:用户获取远端服务器提供的服务,上传本地的文件到远程服务器通信协议:使用FTP协议基本过程:1)用户确定需要上传的本地文件的信息2)用户确定保存文件的远程路径3)向服务器发送上传文件的请求4)向远端服务器传输文件基本过程中使用FTP协议上传文件的请求,并传输本地文件到远端服务器的指定位置。(4)断开连接“断开连接”用例描述了用户断开和当前服务器连接的整个过程。具体的描述如下:用例名称:断开连接用例说明:离开当前已经连接的FTP服务器通信协议:使用FTP协议基本过程:(1)用户发送断开连接的请求(2)将用户请求发送到FTP服务器(3)停止从FTP服务器获取服务(4)断开和F

31、TP服务器的连接预期结果是停止从当前服务器上的服务,并且断开和当前FTP服务器的连接。客户端的活动图4个用例的文字描述已经给出,这里使用活动图来对复杂用例进一步的说明。这里给出实现主要功能的“下载文件”和“上传文件”两个用例的活动图。“下载文件”用例的活动图如图所示: 图2-3“下载文件”用例的活动图从活动图中,我们更直接的了解了该子用例的整个工作的流程如下:(1)系统定位下载的文件和保存的路径。(2)发送下载文件的请求。(3)如果请求失败,则提示出错的信息,然后结束。(4)如果请求成功,获取远程文件的内容。(5)如果获取失败,则提示出错信息,然后结束。(6)如果获取成功,保存文件到本地,然后结束。“上传文件”用例的活动图如下图所示:图2-4“下载文件”用例的活动图从活动图中,我们更能直观的了解该子用例的整个工作流程如下:(1)系统定位上传文件和保存路径。(2)发送上传文件请求。(3)如果请求失败,则提示出错信息,然后结束。(4)如果请求成功,传输本地的文件到服务器。(5)如果文件传输失败,则提示出错信息,然后结束。(6)如果传输文件成功,提示传输成功,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1