FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx

上传人:聆听****声音 文档编号:962824 上传时间:2023-04-29 格式:DOCX 页数:33 大小:297.09KB
下载 相关 举报
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第1页
第1页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第2页
第2页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第3页
第3页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第4页
第4页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第5页
第5页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第6页
第6页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第7页
第7页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第8页
第8页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第9页
第9页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第10页
第10页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第11页
第11页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第12页
第12页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第13页
第13页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第14页
第14页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第15页
第15页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第16页
第16页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第17页
第17页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第18页
第18页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第19页
第19页 / 共33页
FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx

《FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx(33页珍藏版)》请在冰点文库上搜索。

FTP客户端与服务器设计与实现课设报告Word文档下载推荐.docx

指导教师/带队教师(签字)

2017年7月 日

摘要

随着互联网技术的飞速发展,信息共享的时代己经到来。

在实现数据传输与信息共享的诸多方式中,FTP无疑是应用最广的一种方式。

FTP协议是计算机网络中的应用层协议,提供了可靠的文件传输功能,并且具有跨平台特性,两个不同类型的操作系统只要都支持FTP协议就可以进行文件传输工作。

因此,探讨文件传输协议(FTP)的内容和工作原理,分析F'

I'

P客户端与服务器的连接

过程及F'

P请求与应答工作模式,设计C/S架构下的FTP系统的实现方案,在.

NET平台利用C#语言搭建起FTP系统的窗体界面,并且使用.NET类库实现了文件上传、删除和修改等功能。

关键词:

FTP协议 服务器 客户端 .NET

II

Abstract

WiththerapiddevelopmentofInternettechnology,theeraofinformationsharinghasarrived.Inmanywaysofrealizingdatatransmissionandinformationsharing,FTPisundoubtedlythemostwidelyusedmethod.FTPprotocolisanapplicationlayerprotocolincomputernetwork,providesareliablefiletransferfunction,andhasthecharacteristicsofcrossplatform,twodifferenttypesofoperatingsystemaslongascansupporttheFTPprotocolforfiletransferwork.Therefore,toexplorethefiletransferprotocol(FTP)contentandworkingprinciple,analysisoftheconnectionprocessandtheF'

PrequestandresponsemodeF'

PtheclientandtheserverimplementationschemeofFTPsystemdesignundertheC/Sframework,thewindowbodyinterface.NETplatformusingC#languagetobuildFTPsystem,andusethe.NETLibrarytoachievethefileupload,deleteandmodifyfunctions.

Key words:

FTP protocol;

server;

client;

.net

目录

摘要 I

ABSTRACT II

第一章绪论 1

1.1研究背景 1

1.2国内外研究现状 2

1.3课程设计主要研究内容和架构 2

第二章需求分析 3

2.1需求分析 3

2.2功能列表 3

2.3系统权限 3

第三章技术方案 4

3.1.NET架构平台 4

3.1.1.NET的体系结构 4

3.1.2.NET框架的特色 4

3.2开发工具 5

3.2.1VisualStudio 5

第四章总体设计 6

4.1系统体系结构模型 6

4.2FTP系统模型 6

4.3系统工作流程设计 7

4.4系统功能模块介绍 8

4.2.1登陆与注销 8

4.2.2模式选择 9

4.2.3文件管理 9

4.2.4目录管理 9

第五章详细设计 10

5.1登陆与注销 10

5.2文件管理 11

5.2.1文件下载 11

5.2.2文件上传 12

5.2.3文件重命名 12

5.2.4文件删除 13

5.4目录管理 13

5.4.1目录显示 13

5.4.2目录切换 14

5.4.3目录添加 15

5.4.4目录重命名 15

5.4.5目录删除 16

第六章软件测试 17

6.1测试方法 17

6.2测试用例 17

6.3测试过程及结果 18

第七章总结 20

参考文献 21

附录 22

第一章绪论

网络的首要目的就是实现信息共享,文件传输是其中重要的一个方面,随着Internet的迅猛发展,信息数据的传输量大大增加,数据的网络传输显得越来越重要。

利用FTP(FileTransferProtocol)文件传输协议来实现远程文件的传输是软件设计常用的方法。

FTP是基于客户端/服务器结构的文件传输协议,它相对成熟,并有着改进和增强FTP文件传输协议的相关协议支持。

目前FTP客户端软件很多,主要分为3类:

第一类是传统的DOS环境下的FTP操作,由于其效率低和操作繁琐,目前使用很少;

第二类是图形化界面的FTP软件,目前主要有WS-FTP、CuteFTP等;

第三类是浏览器,同样支持FTP协议,但速度相对于专业软件来说较慢。

设计并实现了FTP服务器/客户端,能实现连接、下载、上传等功能,操作简便、交互性强。

1.1研究背景

互联网技术的飞速发展,推动了全世界范围内资料信息的传输与共享,深刻地改变了人们的工作和生活方式。

FTP技术作为文件传输的重要手段,己经得到了广泛的使用。

通常人们可以使用电子邮箱、即时通讯客户端(例如QQ)和

FTP客户端来进行资料的传输。

在这几种常用的方式中,电子邮箱必须以附件的形式来传输文件,并且对文件大小有限制;

即时通讯客户端中的文件传输一般要求用户双方必须在线,如今虽然增加了离线传输的功能,但该功能本质上是通过服务器暂时保存用户文件实现的,与FTP原理类似。

此外通过这两种方式传输文件资料有一个共同的缺陷:

需要传输的文件无法以目录系统的形式呈现给用户。

所以,FTP文件传输系统有其无可替代的优势,在文件传输领域始终占据重要地位,因此对其进行的研究颇有现实意义。

FTP之所以流行于全世界很大程度归功于匿名FTP使用及推厂。

用户不需要注册就可以通过匿名FTP登录到远程主机来获取所需的文件。

所以,每一位用户都可以在匿名FTP主机上获取所需的文件,匿名FTP为世界各个角落的人提供了一条通往巨大资源库的道路,人们可以在资源库中自由下载所需要的资源,并且这个资源库还在不断地扩充中。

另外在Internet上,匿名FTP是软件分发的主要方式,许多程序通过匿名FTP分布,每一个程序开发者都可以搭建

FTP服务器来发布软件。

早期的FTP文件传输系统以命令行的形式呈现,发展至今涌现出很多图形界面的FTP应用软件,比较常见的有F1ashFXP、CuteFTP, Serv-U。

这些FTP软件都采用C/S架构,即包含客户端和服务器两个部分,基于FTP协议实现信息交互。

用户通过客户端进行基本的上传下载操作,实现资源文件的共享。

27

而,绝大部分网络浏览器提供的文件下载器并不具备文件资源管理功能或管理起来很不方便,另外,市面上大部分FTP软件都是收费、不开源的并且会出现功能冗余、配置繁琐的情况。

所以自主设计一个客户端与服务器两者兼具并且具备良好人机交互界面的FTP文件传输系统就显得尤为重要。

1.2国内外研究现状

1971年,第一个FTP的RFC(RequestForComments,是一系列以编号排定的文件,包含了关于Internet几乎所有重要的文字资料)由A.K.Bhushan提出,同一时期由MIT和Havard实现,即RFC114。

在随后的十几年中,FTP协议的官方文档历经数次修订,直到1985年,一个作用至今的FTP官方文档

RFC959问世。

如今所有关于FTP的研究与应用都是基于该文档的。

FTP服务有一个重要的特点就是其实现并不局限于某个平台,在Windows,DOS,UNIX平台下均可搭建FTP客户端及服务器并实现互联互通。

自FTP协议的第一个RFC版本发布以来,历经数十年的发展,海内外涌现出来众多优秀的支持FTP协议的软件。

国外的软件有:

Serv-U,F1ashFXP,CuteFTP等;

国内的软件有:

迅雷、网络蚂蚁、ChinaFTP等。

其中国外的软件大部分需要付费使用,国内几乎没有

FTP开源软件,软件质量参差不齐,难以保证安全性。

虽然目前大部分操作系统都自带FTP功能,但是自带的FTP功能都是基于命令行进行操作,这就需要用户熟记相关操作指令,不够人性化,用户使用起来相当不便,所以很有必要设计一个开源的、功能完善的、具有友好人机交互界面的FTP文件传输系统。

1.3课程设计主要研究内容和架构

本课题是在VisualStudio2013开发环境下开发FTP客户端以及服务器。

基于.net平台和标准FTP协议开发,主要涉及到多线程网络编程的诸多技术,比如网络I/O,线程同步等技术。

本课题设计的FTP客户端有其特色功能:

支持文件传输,同时具备良好的人机交互界面;

设计的FTP服务器采用了多线程技术,使得服务器能够从容应对高并发访问。

本课题主要工作是在.net环境下开发网络应用程序,在开发的过程中所做的工作如下:

(1)熟悉计算机网络,TCP/IP模型以及FTP标准协议。

(2)熟悉VisualStudio2013开发工具和C#编程语言。

(3)研究FtpWebRequest、FtpWebResponse类,熟练掌握编写网络应用程序的方法。

(4)研究基于流的I/O操作模式和多线程编程技术并将其应用于所开发的程序。

(5)设计并实现FTP客户端/服务器,实现了预期的功能,解决了高并发访问的问题。

第二章需求分析

2.1需求分析

作为一个实用的FTP系统,基本功能必不可少,包括用户登录以及用户信息验证,此外最重要就是文件上传与下载。

用户在使用FTP客户端时,可以选择主动模式或者被动模式连接服务器。

可以选择验证用户名与密码或者匿名登陆。

服务器会验证用户名与密码,判断用户能否登上服务器,划分用户的权限。

这样可以保障安全性。

用户使用FTP客户端程序主要为访问服务器,获取或者上传服务器文件。

本文FTP系统采用C/S模式完成文件上传与下载,服务器与客户端分别完成数据连接时的信息发送与响应返回功能,两者配合使用,使得FTP系统具有较强的实用性。

2.2功能列表

功能分组

功能名

功能简要说明

登录与注销

登录服务器

要核对用户名和密码,判断是否为匿名用户,显示不

同功能模块

退出服务器

与服务器断开连接,功能模块不可用

模式选择

选择连接模式

使用主动连接模式或者被动连接模式

选择传输类型

选择Binary或者ASCII数据传输类型

目录管理

显示列表

将服务器的文件资源显示在列表中

跳转目录

输入路径改变当前目录

新建目录

在服务器端新建文件夹,需要用户实名登陆

重命名文件夹

将服务器文件夹重命名,需要用户实名登陆

文件管理

上传文件

将本地文件上传至服务器,需要用户实名登陆

下载文件

将服务器文件下载至本地

删除文件

将服务器文件从服务器删除,需要用户实名登陆

重命名文件

将服务器文件重命名,需要用户实名登陆

表2-1功能列表

2.3系统权限

普通用户登陆后拥有所有功能。

匿名用户匿名登陆后只拥有下载功能以及目录跳转要求。

第三章技术方案

3.1.NET架构平台

.NET是MicrosoftXMLWebservices平台,XMLWebservices的应用程序是通过Internet进行通讯和共享数据,而与操作系统、设备和编程语言无关。

Microsoft.NET平台也正提供了创建XMLWebservices功能并将相关服务集成在一起,使用户可无缝地使用。

3.1.1.NET的体系结构

框架由公共语言运行时(CLR)、共享对象类库,ASP.NET三部分组成,其体系架构如图3-1所示。

共享对象类

ASP.NETCLR

操作系统

图3-1.NET框架组成图

公共语言运行时(CommonLanguageRuntime,CLR)是架构在操作系统服务之上的,是所有.NET程序语言公用的运行时期组件。

它是负责应用程序的实际执行,满足所有应用程序的需求,如果要执行任一程序语言开发出的程序,就必须安装该程序语言的运行时期组件,因为它包含了该语言程序的核心功能,如函数和对象等。

共享对象类集成了不同程序语言的对象库,成为所有程序共享的对象库,其中包括Web类(ASP.NET)、数据类(ADO.NET),XML类、绘图类、系统类、

Windows窗体类等,它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础,其中.NET类库的组织是以命名空间为基础的,最顶层的名字空间为System。

ASP. NET是共享对象类库中的一员,它提供了一个Web应用程序模型,其中该模型提供了一些Web窗体、控件及基础架构,该模型的作用能让程序设计者可轻松地建立Web应用程序;

它提供了一些对应HTML元素的HTML控件以及功能更强的Web控件,这些控件在服务器端执行,然后在客户端的浏览器以HTML的方式显示。

3.1.2.NET框架的特色

1、透过因特网的标准做整合。

以XML(extensibleMarkupLanguage,延

伸标注语言)及SOAP(SimpleObjectAccessProtocol,简单对象存取协议)

等标准通讯协议,将各种由不同环境所组成的应用程序及组件整合在一起工作。

2、松散的整合组件。

现阶段,要建立多层且功能可扩充的系统,其架构非常复杂,而且工具很少,而.NET Framework不需要很严谨的定义每个组件的结构即可很轻松的整合,提高程序的扩展性。

3、支持多种程序语言。

许多程序设计者会使用多种语言来开发他们的解决方案,这是因为每种语言都有它的长处,.NET Framework把这些语言整合起来,可以让开发人员使用不同的程序语言来开发解决方案:

4、提高程序的开发效率。

利用.NET框架的自动内存管理,以及丰富的控件等特色,可使程序设计人员减少写程序会发生的问题,专心于撰写企业处理数据的规则,从而,缩短项目的开发时间。

5、完善的数据安全。

目前因特网最受大家注目的是它的安全性,.NET

Framework在设计安全模型时将所有的数据与程序代码做完善的安全防护。

6、可用操作系统的服务。

Windows提供了比其它作业平台更丰富的服务及资源,.NET Framework将这些操作系统所提供的功能包装起来,以更简单的方式提供给程序设计者使用。

3.2开发工具

3.2.1VisualStudio

MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。

VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。

所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows

Mobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。

VisualStudio是目前最流行的Windows平台应用程序的集成开发环境。

最新版本为VisualStudio2017版本,基于.NETFramework4.5.2。

第四章总体设计

4.1系统体系结构模型

用户

计算机

查找

编辑

重命名

删除

新建

下载

登录

上传

开发FTP服务器/客户端软件必须遵循FTP的工作模式,FTP独特的优势在于它在两台通信主机之间使用了两条TCP连接,一条用于数据传送,一条用于控制信息的传送。

这种将命令和数据分开传送的思想大大提高FTP工作的效率。

图4-1给出本系统的体系结构模型。

图4-1FTP体系结构模型

客户端与服务器建立连接是典型的“三次握手”,过程如下:

客户端发送请求与服务器控制连接的协议包;

服务器同意建立连接,发送应答;

最后,客户端向服务器发送确认,至此,连接建立。

与此同时,FTP要求客户向服务器提供用户名和口令,一旦连接成功一个或多个文本或图像二进制文件都能被安全传送,在整个交互过程中,控制连接始终处于连接状态,数据连接在每一次文件传送时先打开后关闭,FTP依靠可靠传输协议TCP,不必担心可靠性和连接的管理。

4.2FTP系统模型

FTP(FileTransferProtocol)文件传送协议,位于OSI体系中的应用层,是一个用于从一台主机向另一台主机传送文件的协议,基于C/S架构。

用户通

过FTP客户端连接到在某个远程主机上的FTP服务器。

用户通过FTP客户端向服务器程发送指令,服务器根据指令的内容执行相关操作,最后将结果返回给客户端。

例如,用户向FTP服务器发送文件下载命令,服务器收到该命令后将

指定文件传送给客户端,并将执行结果返回给客户端。

FTP系统和其他C/S系统的不同之处在于它在客户端和服务器之间同时建立了两条连接来实现文件的传输,分别是控制连接和数据连接。

控制连接用于客户端和服务器之间的命令和响应的传递;

数据连接则用于传送数据信息。

当用户通过FTP客户端向服务器发起一个会话的时候,客户端会通过熟知端口21与FTP服务器建立一个TCP连接,即控制连接。

客户端使用此连接向

FTP服务器发送所有FTP命令并读取所有应答。

而对于大批量的数据,如数据文件或详细目录列表,FTP系统会建立一个独立的数据连接去传送相关数据。

以主动传输方式为例,客户端使用PORT命令向服务器发送地址和端口,服务器与客户端指定的地址和端口建立连接,然后在这条连接上面进行文件的上传或下载。

FTP工作模型示意图如图4-2所示。

FTP客户端

FTP服务器端

控制连接

数据连接

文件系统

服务器数据传输层

服务器协议层

客户端数据传输层

客户端协议层

客户端接口

图4-2FTP工作模型示意图

4.3系统工作流程设计

FTP客户端的工作流程设计如下:

(1)用户输入用户名和密码进行登录操作。

(2)连接FTP服务器成功后发送PORT或PASV命令选择传输模式,处理

TYPE命令确定数据传输方式。

(3)发送LIST命令通知服务器将目录列表发送给客户端。

(4)服务器通过数据通道将远程目录信息发送给客户端,客户端对其进行解析并显示到对应的服务器目录列表框中。

(5)通过控制连接发送相应的命令进行文件的下载和上传、目录的下载和上传以及目录的新建或删除等操作。

(6)启动下载或上传线程执行文件的下载和上传任务。

(7)使用结束,断开与FTP服务器的连接。

FTP系统工作流程图如图4-3所示。

开始

验证用户、密码

Y

操作完毕

结束

启动进程

请求文件目录

传输模式、数据传输方式

文件下载

目录删除

目录新增

文件重命名

操作请求

N

图4-3FTP系统工作流程图

4.4系统功能模块介绍

按照需求分析中的功能列表,以及对每个模块的功能分析,可以整理得出系统的功能模块总体结构如图4-4所示:

下 上 删 新

载传除建文文文目件件件录

择连接模式

择数据类型

登 退

陆 出

服 服

务 务

器 器

登陆与注销

重命名目录

FTP系统

删除目录

显示目录

4.2.1登陆与注销

图4-4系统功能模块总体结构图

登陆时,用户可以选择实名登陆或者匿名登陆。

不同的登陆方式将显示不同的功能界面,从而达到动态的赋予用户不同的权限,增加了服务器的安全性。

实名用户可以使用FTP服务器的所有功能。

匿名用户只能下载服务器上的文件。

注销将断开客户端与服务器的连接,使所有的功能不可用。

4.2.2模式选择

用户可以选择主动连接方式或者被动连接方式与服务器进行连接。

主动模式下客户端高位端口与服务器低位端口连接,被动模式下客户端高位端口与服务器高位端口连接。

数据传输方式可以选择Binary格式或者ASCII格式。

4.2.3文件管理

文件管理模块是系统的主要模块,是用户在客户端进行的主要活动,也是所

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2