FTP文件传输课程设计.docx
- 文档编号:9951427
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:32
- 大小:162.61KB
FTP文件传输课程设计.docx
《FTP文件传输课程设计.docx》由会员分享,可在线阅读,更多相关《FTP文件传输课程设计.docx(32页珍藏版)》请在冰点文库上搜索。
FTP文件传输课程设计
FTP文件传输课程设计
摘要
进入信息时期,随着互联网普及,只要接上网络,就能够从网上找到庞大的数据资源,其内容一应俱全,能够说几乎任何人都能够在Internet资源中找到自己所需要的信息资源。
有了网络,利用者不但能够阅读各类各样的信息资源,还能够将自己感爱好的资源下载到本地机上。
运算机之间数据的传输大多是通过文件传输协议FTP来完成的。
FTP利用两个TCP连接来实现文件传送操作。
FTP能够治理四类不同的文件类型,且可用多种模式传输文件。
本系统是用JBuilder作为开发工具完成的,系统有着良好的界面,简单易用,系统开发的整体任务是连接FTP效劳器,上传/下载文件;并利用Serv-U软件构建FTP效劳器,使客户端用户能够通过互联网访问FTP效劳器,进行信息资源的共享和传输。
论文第一介绍FTP文件传输协议的原理和工作的机制。
然后简要介绍开发FTP客户端应用程序的一些详细的步骤(如何成立文件传输的数据连接进程)并提供了一个完整的JAVA实现的文件传输程序模块,以此来演示利用JAVA开发FTP客户端应用程序的一些具体细节。
本次论文的设计,即从需求分析,软件设计到软件功能实现,都始终遵循软件工程的思想和数据库的设计方式。
在本文中采纳了大量的图表说明,使文章明确清楚,便与阅读和明白得。
关键词:
FTP文件传输系统,JBuilder,网络技术,软件工程
ABSTARCT
Duringenteringtotheinformationtimes,alongwiththeInternetuniversal,solongasconnectwiththenet,youcanfindoutthehugedataresourcesfromtheInternet.ItisalmostsaidthateveryonecanfindouttheinformationresourceswhichyouneedintheInternet.Hadthenetwork,theusercannotonlybrowsevariousofinformationresources,butalsodownloadresourceswhichyouareinterestedin.Mostofthedatatransferbetweencomputersarerealizedthroughfiletransferprotocol-FTP.GenerallyFTPmeansfiletransferservice.UsingtwoTCPconnections,FTPcanrealizefiletransfer.
ThissoftwaresystemcompleteswiththeJBuildertools.Andthesystemhasgoodinterface,usinginbriefandeasily.ThetotalmissionofthesystemistolinktheserverofFTP,spreadingup/downloadaFTPservercanbebuiltbythesoftwareofuserofclientsidethencanvisittheFTPservertouploadordownloadthefiles.
FirstlythisdesignintroducesthemechanicsandprincipleofFileTransportationProtocol(FTP).Thendetailedsteps(howtomakeadatalinkforfiletransport)ofdevelopingtheFTPClientarepresented.Aprogrammingmoduleoffiletransport,writteninjavaisavailabletodemonstratethespecificsofdevelopingaFTPClientApplicationindesignofthissoftware,namelyanalyticalfromtheneed,thesoftwaredesignsthefunctiontocarryout,allfollowingthethoughtofthesoftwareengineeringandthedesignmethodofthedatabasesalways.Thistexthadagreatdealofchartelucidation,makethearticledefinitelyclear,thenwithreadandcomprehendeasily.
KeyWords:
FTPFiletransportationsystem,JBuilder,networktechnique,softwareengineering.
第一章绪论
1.1课题简介
随着Internet技术的兴起与进展和网络技术的蓬勃进展,人们希望通过互联网来共享网络上的资源,便于为自己结省本钱,这就迫切需要实现网络与数据库的互连。
网络技术进展到今天,人们已经能够把数据库技术引入到Web系统中。
随着软件工程学的迅速进展,软件测试的理论也不断完善,软件测试的实施在整个软件生命周期中的地位也愈来愈重要,其工作量占软件开发总工作量的40%以上。
软件测试已成为软件生产中必不可少的质量保证手腕。
FTP是Internet上利用最普遍的应用之一。
FTP效劳是以它所利用的文件传输协议(FileTransferProtocol)命名的。
目前Internet上几乎所有的运算机系统上,都带有FTP工具,用户通过它能够将文档从一台运算机上传到另外一台运算机上。
一般的FTP效劳要求用户必需在要访问的运算机上有效户名和口令。
而Internet上最受欢迎的是称为匿名(anonymous)FTP的效劳,用户在登录这些效劳器时不用事前注册一个用户名和口令,而是以"anonymous"或"ftp"为用户名,自己的电子邮件地址为口令即可。
匿名FTP是目前Internet上进行资源共享的要紧途径之一。
它的特点是访问方便,800616操作简单,容易治理。
Internet上有许多的资源都是以FTP的形势提供给大伙儿利用的,包括各类文档、软件工具包等等。
因此我选了些课题,想通过此刻最热点的Java语言来实现FTP功能。
1.2FTP的工作原理
FTP(FileTransferProtocol,文件传输系统)是Internet上利用超级普遍的一种通信协议(属于TCP/IP),它是由支持Internet文件传输的各类规那么组成,这些规那么使Internet用户能够把文件从一个主机拷贝到另一个主机上。
FTP支持多种文件类型和文件格式,包括ASCII文件和二进制文件。
下面将从FTP连接,FTP数据处置,FTP命令及响应三个方面来介绍FTP工作原理
1.2.1FTP连接
FTP利用两条TCP连接来完成文件传输:
操纵连接和数据连接。
操纵连接用于传输操纵,数据连接用于数据传输。
在效劳器启动后,效劳器就会在端口21等待客户的连接请求,有效户需要传输文件时候,客户与效劳器的端口21成立一个操纵连接,用来传送客户的命令和效劳器的应答,该连接一直维持到客户与效劳器通信终止为止。
当客户发出数据传输命令时候,效劳器会主动与客户成立数据连接,并与进行数据互换。
客户端用户并非是直接处置操纵连接上的FTP命令和FTP响应,而是由两个协议说明器进行处置。
用户接口为客户端用户提供必然形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将操纵连接上的FTP响应转换成用户能够明白得的方式。
1.2.2FTP数据处置
FTP协议标准中提供了多种用于文件操纵的传输和存储方式,要紧包括:
1)文件类型处置:
ASCII文件类型,EBCDIC文件类型,图象文件类型,本地文件类型
2)格式操纵:
格式操纵只能应用于ASCII文件和EBCDIC文件类型,有非打印格式操纵,TELNET格式操纵和FORTRAN格式操纵三种,其中默以为非打印格式操纵,该格式操纵下,文件不包括任何格式信息。
3)结构:
结构分文件结构,记录结构和页结构三种。
默以为文件结构,即将文件看成是一个持续的字节流,没有内部结构。
记录结构可勇于文本文件。
页结构中,每一个页都有一个页号,许诺接收者和任意的顺序存储页。
4)传输模式:
传输模式用于说明文件是如安在数据连接上进行传输的。
要紧有以下三类:
流模式:
将文件看成一个字节流来传输。
块模式:
将文件看成一系列的数据块来传输。
1.2.3FTP命令和响应
在操纵连接上,FTP命令和响应都是以NVTASCII格式进行传输的,而且每一行用CR和LF作为终止。
一样来讲,FTP命令是由3到4个字节大写ASCII字符组成的,其中有一些命令有参数。
一样的FTP响应是以3个ASCII数字作为前导,其后跟相应的消息,其中2~3位数字相应消息由客户程序进行分析处置,后面的消息是提供给客户阅读的。
1.2.4FTP登岸
事实上存在两种FTP登录方式:
一种是匿名的,之因此称之为匿名的是因为任何人都能够访问它。
该站点许诺那些利用Anonymous用户名和E-MAIL地址作为密码的用户访问它.在匿名登录的方式下,一些访问类型受到了限制,如大多数站点许诺下载,可是不许诺匿名用户上传资料;另一种是非匿名的,这是需要一个合法的用户名和密码.用户和密码一般是系统治理员或ISP尤其是所有者提供的.若是没有效户名和密码,将会被拒绝访问。
1.3相关技术和开发工具
本章节将介绍开发FTP文件传输系统的相关的技术和开发工具。
涉及到的内容包括:
JAVA语言,开发工具JBUILDER9的,C/S网络通信模式和效劳器端的软件Serv-U的相关知识和技术。
1.3.1JAVA简介
Java来自Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个散布式代码系统,如此咱们能够把E-mail发给电冰箱等家用电器,对它们进行操纵,和它们进行信息交流。
开始,预备采纳C++,可是C++太复杂,平安性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精致而且平安的语言,Sun公司曾依此投标一个交互式的电视项目,可是结果是被SGI打败。
可怜的Oak几乎无家可归,刚巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组的成员,他们用Java编制了HotJava阅读器,取得了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。
Java的取名叶有一个趣闻,有一天,几位Java成员组的会员正在讨论给那个新的语言取什么名字,那时他们正在咖啡馆喝着Java咖啡,有一个人灵机移动说叫Java如何,取得了其他人的赞赏,于是Java那个名字就如此传开了。
作为一种编程语言,JAVA拥有一些很独特的特性:
平安的(Secure):
Java是被设计用于网络及散布式的环境中,平安性自必是一个很 重要的考虑。
Java拥有数个阶级的互锁(Interlocking)爱惜方法,能有效地避免病 毒的侵入和破坏行为的发生。
结构中立的(Architecture Neutral):
一样而言,网络是由很多不同机型的机械所 组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序能够 在每一种机械上执行,是一个难题。
所幸,Java的编译器产生一种结构中立的目标 文件格式(Object File Format);这使得编译码得以在很多种处置器中执行。
可移植的(Portable):
原始资料型式的大小是被指定的,例如"float"一直是表示一 个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此一起特点。
程序库属于 系统的一部份,它概念了一些可移植的程序接口,Java本身具有有专门好的可移植性。
说明的(Interpreted):
Java说明器能直接地在任何机械上执行Java位元码(Bytecodes), 因此在进行程序连结时,时刻的节省,这关于缩短程序的开发进程,有极大的帮忙。
高效能的(High Performance):
Java位元码迅速地能被转换成机械码(Machine Code), 从位元码转换到机械码的效能几乎与C与C++没有别离。
多线程的(Multi threaded):
Java语言具有多线程的功能,这关于交互回应能力及 即时执行行为是有帮忙的。
动态的(Dynamic):
Java比C或C++语言更具有动态性,更能适应时刻在变的环境, Java可不能因程序库的更新,而必需从头编译程序。
1.3.2Jbuilder编程环境
Jbuilder是Borland公司的重点产品。
随着JAVA语言的流行,愈来愈多的开发者青睐那个可视化的JAVA应用开发工具。
利用Jbuilder来进行JAVA开发,可极大的加速外行的学习速度,缩短熟手的开发时刻,因此在短短几年内成为广大程序员最喜爱的开发工具之一。
Jbuilder那么集成了软件开发、测试、部署、治理等工具,极大的提高项目的开发速度。
作为一款经典的开发工具,它之因此能吸引愈来愈多的开发人员,是由于它的几个超级重要同时也很独到的特性。
(1)结构易于创建
结构易于创建JBuilder提供创建平台独立的GUI工具的方式不同凡响。
从表面上看,JBuilder就与VisualCafe或VisualAgeforJava一样,它默许利用一种叫做XYLayout的布局结构。
那个特性许诺程序员以所见即所得的方式将组件放到结构中。
(2)结构的可保护性
在JBuilder中设置网格限制相当容易,对任何给定的组件用户都能够弹出一个网格限制对话框,在对话框中能够设置一些网格限制参数,如垂直或水平挤压和填充等。
除此之外,用户也能够直接到网格限制属性对话框中进行设置。
尽管JBuilder不能象JavaWorkshop那样在网格布局结构中直接移动组件或调整其大小那样容易和直观,但仍是能够完成的。
(3)可视化编程
JBuilder提供了一个交互向导(InteractiveWizard)作为可视化编程工具。
其目的是能够自动完成组件之间的一些简单的交互操作。
但是它的不足的地方是交互向导远不够直观而且缺乏一个高级的程序员所要求的灵活性。
比如当用户利用它来产生一组代码以便当按下某个开关时能够将文本从一个编辑操纵放到一个选择列表中。
1.3.3C/S的网络通信模式
C/S(Client/Server)结构,即大伙儿熟知的客户机和效劳器结构。
它是软件系统体系结构,通过它能够充分利用两头硬件环境的优势,将任务合理分派到Client端和Server端来实现,降低了系统的通信开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于此刻的软件应用系统正在向散布式的Web应用进展,Web和Client/Server应用都能够进行一样的业务处置,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都能够访问新的和现有的应用系统,通过现有应用系统中的逻辑能够扩展出新的应用系统。
这也确实是目前应用系统的进展方向。
传统的C/S体系结构尽管采纳的是开放模式,但这只是系统开发一级的开放性,在特定的应用中不管是Client端仍是Server端都还需要特定的软件支持。
由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加上产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时利用。
1.3.4FTP效劳器端软件Serv-U
FTP个人效劳器提供了给同一网络中的其他机械相互访问的功能,如:
上传文件,下载文件等实现资源的共享。
Serv-U是RobBeckers开发的一个功能壮大的、简单易用的、成熟的FTP效劳器,FTP效劳器用户通过Internet的FTP协议共享文件。
Serv-U不单单能100%适用于标准的FTP,一样也包括了很多功能,是一个完美的文件共享解决方案。
FTPServ-U最新的版本是,新的版本支持SSlFTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接爱惜您的数据平安。
是一个适合各类大小空间治理的效劳器,它不单单拥有的很多高级的治理工具,他仍是一个简单应用和平安的标准。
Serv-U是众多FTP效劳器中比较通俗一个、同时拥有众多高级和治理工具。
FTPServ-U其他的平安功能:
用SSL加密数据、ODBC的支持、带宽限制、目录和文件的权限治理、IP限制、定制平安设置。
第二章系统需求分析
2.1任务概述
整个整个文件传输系统是由效劳器端效劳程序和客户端应用一起组成。
FTP效劳器端的程序由效劳器端的软件Serv—U来操纵,负责同意和处置客户端的请求。
客户端由5个模块组成:
连接模块,下载模块,上传模块,目录阅读模块,和界面组成,所有的模块功能通过界面同用户交流。
2.2设计思想
利用JAVA的网络类库中专门针对FTP文件传输的相关类和方式,实现与现有的FTP效劳器的连接与通信。
利用C/S网络应用模型的相关特点与知识,配合开发工具的自身的特点实现FTP文件传输系统。
2.3系统工作流程与结构
FTP的客户端程序的设计要紧有四个部份:
客户登岸程序设计,FTP效劳器目录阅读程序,FTP效劳器目录更新程序设计,上传和下载文件程序设计.而相应的操作流程为:
第一客户端程序先连接效劳器;然后阅读或更新FTP效劳器目录;选择文件进行下载和上传;进行文件数据传输;最后断开连接.
由于JBULIEDER提供的FTP控件已经对其进行了类的封装,因此对用户来讲它是透明的,没必要在去编程说明响应消息了.如此利用JBULIDER9,就节约了大量的开发时刻.
以下图是文件传输系统的系统结构:
图2-1文件传输系统的结构
2.4用例描述
客户端实现的功能:
能连接到一个远端的FTP效劳器
从远端效劳器下载文件
能向远端效劳器上传文件
能断开和当前远端效劳器的连接
从功能上取得四个用例:
成立连接下载文件上传文件断开连接
用例图如下所示:
图2-2客户端用例图
每一个用例描述文件如下:
(1)成立连接
“成立连接”用例描述了用户成立连接的整个进程。
具体描述下:
用例名称:
成立连接
用例说明:
通过网络连接到一个FTP效劳器
通信协议:
利用FTP协议
大体进程:
1)输入FTP效劳器的信息
2)用户发出成立或连接FTP效劳器的请求
3)连接到指定的FTP效劳器
(2)下载文件
“下载文件”用例描述了用户从效劳器下载文件到本地文件夹的进程。
具体描述如下:
用户名称:
下载文件
用户说明:
用户获取远端效劳器提供的效劳,下载远程效劳器上的文件到本地
通信协议:
利用FTP协议
大体进程:
1)用户确信需要下载的远端文件的信息
2)用户确信保留文件的本地途径
3)向效劳器发送下载文件的请求
4)从远端效劳器获取文件
5)保留文件到本地磁盘
大体进程中利用了FTP协议提交下载文件的请求,而且获取远端文件。
(3)上传文件
“上传文件”用例描述了用户从本地上传文件到效劳器的进程。
具体描述如下:
用例名称:
上传文件
用例说明:
用户获取远端效劳器提供的效劳,上传本地的文件到远程效劳器
通信协议:
利用FTP协议
大体进程:
1)用户确信需要上传的本地文件的信息
2)用户确信保留文件的远程途径
3)向效劳器发送上传文件的请求
4)向远端效劳器传输文件
大体进程中利用FTP协议上传文件的请求,并传输本地文件到远端效劳器的指定位置。
(4)断开连接
“断开连接”用例描述了用户断开和当前效劳器连接的整个进程。
具体的描述如下:
用例名称:
断开连接
用例说明:
离开当前已经连接的FTP效劳器
通信协议:
利用FTP协议
大体进程:
(1)用户发送断开连接的请求
(2)将用户请求发送到FTP效劳器
(3)停止从FTP效劳器获取效劳
(4)断开和FTP效劳器的连接
预期结果是停止从当前效劳器上的效劳,而且断开和当前FTP效劳器的连接。
客户端的活动图
4个用例的文字描述已经给出,那个地址利用活动图来对复杂用例进一步的说明。
那个地址给出实现要紧功能的“下载文件”和“上传文件”两个用例的活动图。
“下载文件”用例的活动图如下图:
图2-3“下载文件”用例的活动图
从活动图中,咱们更直接的了解了该子用例的整个工作的流程如下:
(1)系统定位下载的文件和保留的途径。
(2)发送下载文件的请求。
(3)若是请求失败,那么提示犯错的信息,然后终止。
(4)若是请求成功,获取远程文件的内容。
(5)若是获取失败,那么提示犯错信息,然后终止。
(6)若是获取成功,保留文件到本地,然后终止。
“上传文件”用例的活动图如以下图所示:
图2-4“下载文件”用例的活动图
从活动图中,咱们更能直观的了解该子用例的整个工作流程如下:
(1)系统定位上传文件和保留途径。
(2)发送上传文件请求。
(3)若是请求失败,那么提示犯错信息,然后终止。
(4)若是请求成功,传输本地的文件到效劳器。
(5)若是文件传输失败,那么提示犯错信息,然后终止。
(6)若是传输文件成功,提示传输成功,然后终止。
至此,客户端的用例已经描述完善。
2.5分析与设计
获取客户端对象
从用例和描述中,分析每一个活动和其实现的功能,能够取得实现客户端的对象:
连接界面,效劳界面,响应处置,成立连接,上传文件,断开连接和下载文件.它们之间的关系用对象图表示如下:
用户
连接界面
服务界面
建立连接
上传文件
响应处理
断开连接
下载文件
图2-5客户端对象图
客户端对象的静态关系(每一个用例将成立一个协作图,来详细描述对象之间的关系)
1成立连接
协作图如下:
连接界面
建立连接
响应处理
连接请求
建立连接
连接请求
连接请求
连接建立
图2-6“成立连接”协作图
该协作图描述的对象关系如下:
用户向“连接界面”发送“连接请求”,“连接界面”向“响应处置”发送“连接请求”,“响应处置”向“成立连接”发送“连接请求”,“成立连接”向“连接界面”发送“连接成立”,“连接成立”向用户反馈”连接成立”
2.下载文件
“下载文件”用例将远端效劳器的文件传输到本地
服务界面
建立连接
响应处理
下载请求
处理完成
下载请求
下载请求
下载处理
图2-7“下载文件”协作图
3.上传文件(同下载)
“上传文件”用例将文件传输到远端效劳器
4.断开连接(同连接)
“断开连接”用例的对象关系和用例”成立连接”相似
客户端对象的动态关系(成立序列图)
1.成立连接
请求连接
连接建立
连接界面
响应处理
连接界面
请求连接
请求连接
连接建立
图2-8“成立连接”序列图
下载请求
处理完成
服务界面
响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FTP 文件传输 课程设计