最新FTP客户端与服务器设计与实现课设报告.doc
《最新FTP客户端与服务器设计与实现课设报告.doc》由会员分享,可在线阅读,更多相关《最新FTP客户端与服务器设计与实现课设报告.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateFTP客户端与服务器设计与实现课设报告编号本科生专业方向应用实训科研训练FTP客户端与服务器的设计与实现Design and implementation of FTP client and server学 生 姓 名蒲 凤专 业软件工程学 号140521221指 导 教 师高培成 尹大力 祝勇学 院计算机科学技术二一七年七月 -起 止 周1719周 数3实习地点计算
2、机学院专业实验室 选 题自 选科研训练目的:实训的目的是使学生在学完专业课程后,学会并掌握软件开发的基本技能,巩固已学的知识,补充未学的但又必要的内容。通过了解并实践常见的软件开发过程进行系统开发,并且使用相关语言进行专业方向的系统实现。科研训练要求:1. 了解实际项目分析、设计、开发、测试、部署等完整流程;2. 熟练使用常用程序开发工具进行开发;3. 养成良好的表达、沟通和团队协作能力,掌握快速学习方法,培养良好的分析问题和解决问题的能力。科研训练主要内容:1.软件开发能力:培训学生的编程思想和基本工作技能,培养与提高学生的编程能力。2.软件工程能力:按照软件工程的思想,训练学生掌握面向对象
3、分析/设计(UML 建模)、编码规范、概要设计方法、详细设计方法、模块划分方法等技能。3.工程实践能力:按照专业方向或学生就业方向选择一个项目进行实际开发,完成整个开发过程。4.项目文档管理能力:实训最终要提交实训报告,包括项目需求分析、总体设计、详细设计、系统测试,及最终总结。指导教师评语:成绩:指导教师/带队教师(签字) 2017年 7月 日摘要随着互联网技术的飞速发展,信息共享的时代己经到来。在实现数据传输与信息共享的诸多方式中,FTP无疑是应用最广的一种方式。FTP协议是计算机网络中的应用层协议,提供了可靠的文件传输功能,并且具有跨平台特性,两个不同类型的操作系统只要都支持FTP协议就
4、可以进行文件传输工作。因此,探讨文件传输协议(FTP)的内容和工作原理,分析FIP客户端与服务器的连接过程及FIP请求与应答工作模式,设计C/S架构下的FTP系统的实现方案,在.NET平台利用C#语言搭建起FTP系统的窗体界面,并且使用.NET类库实现了文件上传、删除和修改等功能。关键词:FTP协议 服务器 客户端 .NETAbstractWith the rapid development of Internet technology, the era of information sharing has arrived. In many ways of realizing data tra
5、nsmission and information sharing, FTP is undoubtedly the most widely used method. FTP protocol is an application layer protocol in computer network, provides a reliable file transfer function, and has the characteristics of cross platform, two different types of operating system as long as can supp
6、ort the FTP protocol for file transfer work. Therefore, to explore the file transfer protocol (FTP) content and working principle, analysis of the connection process and the FIP request and response mode FIP the client and the server implementation scheme of FTP system design under the C/S framework
7、, the window body interface.NET platform using C# language to build FTP system, and use the.NET Library to achieve the file upload, delete and modify functions.Key words: FTP protocol;server;client;.net 目录摘要IABSTRACTII第一章 绪论11.1研究背景11.2国内外研究现状21.3课程设计主要研究内容和架构2第二章 需求分析32.1 需求分析32.2功能列表32.3 系统权限3第三章
8、技术方案43.1 .NET架构平台43.1.1 .NET的体系结构43.1.2 .NET框架的特色43.2 开发工具53.2.1 Visual Studio5第四章 总体设计64.1系统体系结构模型64.2 FTP系统模型64.3系统工作流程设计74.4系统功能模块介绍84.2.1登陆与注销84.2.2模式选择94.2.3文件管理94.2.4目录管理9第五章 详细设计105.1登陆与注销105.2文件管理115.2.1文件下载115.2.2文件上传125.2.3 文件重命名125.2.4 文件删除135.4目录管理135.4.1目录显示135.4.2目录切换145.4.3目录添加155.4.4
9、目录重命名155.4.5目录删除16第六章 软件测试176.1测试方法176.2测试用例176.3测试过程及结果18第七章 总结20参考文献21附录22第一章 绪论网络的首要目的就是实现信息共享,文件传输是其中重要的一个方面,随着Internet的迅猛发展,信息数据的传输量大大增加,数据的网络传输显得越来越重要。利用FTP(File Transfer Protocol)文件传输协议来实现远程文件的传输是软件设计常用的方法。FTP是基于客户端/服务器结构的文件传输协议,它相对成熟,并有着改进和增强FTP文件传输协议的相关协议支持。目前FTP客户端软件很多,主要分为3类:第一类是传统的DOS环境下
10、的FTP操作,由于其效率低和操作繁琐,目前使用很少;第二类是图形化界面的FTP软件,目前主要有WS-FTP、CuteFTP等;第三类是浏览器,同样支持FTP协议,但速度相对于专业软件来说较慢。设计并实现了FTP服务器/客户端,能实现连接、下载、上传等功能,操作简便、交互性强。1.1研究背景互联网技术的飞速发展,推动了全世界范围内资料信息的传输与共享,深刻地改变了人们的工作和生活方式。FTP技术作为文件传输的重要手段,己经得到了广泛的使用。通常人们可以使用电子邮箱、即时通讯客户端(例如QQ)和FTP客户端来进行资料的传输。在这几种常用的方式中,电子邮箱必须以附件的形式来传输文件,并且对文件大小有
11、限制;即时通讯客户端中的文件传输一般要求用户双方必须在线,如今虽然增加了离线传输的功能,但该功能本质上是通过服务器暂时保存用户文件实现的,与FTP原理类似。此外通过这两种方式传输文件资料有一个共同的缺陷:需要传输的文件无法以目录系统的形式呈现给用户。所以,FTP文件传输系统有其无可替代的优势,在文件传输领域始终占据重要地位,因此对其进行的研究颇有现实意义。FTP之所以流行于全世界很大程度归功于匿名FTP使用及推厂。用户不需要注册就可以通过匿名FTP登录到远程主机来获取所需的文件。所以,每一位用户都可以在匿名FTP主机上获取所需的文件,匿名FTP为世界各个角落的人提供了一条通往巨大资源库的道路,
12、人们可以在资源库中自由下载所需要的资源,并且这个资源库还在不断地扩充中。另外在Internet上,匿名FTP是软件分发的主要方式,许多程序通过匿名FTP分布,每一个程序开发者都可以搭建FTP服务器来发布软件。早期的FTP文件传输系统以命令行的形式呈现,发展至今涌现出很多图形界面的FTP应用软件,比较常见的有F1ashFXP、CuteFTP, Serv-U。这些FTP软件都采用C/S架构,即包含客户端和服务器两个部分,基于FTP协议实现信息交互。用户通过客户端进行基本的上传下载操作,实现资源文件的共享。然而,绝大部分网络浏览器提供的文件下载器并不具备文件资源管理功能或管理起来很不方便,另外,市面
13、上大部分FTP软件都是收费、不开源的并且会出现功能冗余、配置繁琐的情况。所以自主设计一个客户端与服务器两者兼具并且具备良好人机交互界面的FTP文件传输系统就显得尤为重要。1.2国内外研究现状1971年,第一个FTP的RFC (Request For Comments,是一系列以编号排定的文件,包含了关于Internet几乎所有重要的文字资料)由A.K.Bhushan提出,同一时期由MIT和Havard实现,即RFC114。在随后的十几年中,FTP协议的官方文档历经数次修订,直到1985年,一个作用至今的FTP官方文档RFC959问世。如今所有关于FTP的研究与应用都是基于该文档的。FTP服务有
14、一个重要的特点就是其实现并不局限于某个平台,在Windows, DOS, UNIX平台下均可搭建FTP客户端及服务器并实现互联互通。自FTP协议的第一个RFC版本发布以来,历经数十年的发展,海内外涌现出来众多优秀的支持FTP协议的软件。国外的软件有:Serv-U , F1ashFXP , CuteFTP等;国内的软件有:迅雷、网络蚂蚁、ChinaFTP等。其中国外的软件大部分需要付费使用,国内几乎没有FTP开源软件,软件质量参差不齐,难以保证安全性。虽然目前大部分操作系统都自带FTP功能,但是自带的FTP功能都是基于命令行进行操作,这就需要用户熟记相关操作指令,不够人性化,用户使用起来相当不便
15、,所以很有必要设计一个开源的、功能完善的、具有友好人机交互界面的FTP文件传输系统。1.3课程设计主要研究内容和架构本课题是在Visual Studio 2013开发环境下开发FTP客户端以及服务器。基于.net平台和标准FTP协议开发,主要涉及到多线程网络编程的诸多技术,比如网络I/O,线程同步等技术。本课题设计的FTP客户端有其特色功能:支持文件传输,同时具备良好的人机交互界面;设计的FTP服务器采用了多线程技术,使得服务器能够从容应对高并发访问。本课题主要工作是在.net环境下开发网络应用程序,在开发的过程中所做的工作如下:(1)熟悉计算机网络,TCP/IP模型以及FTP标准协议。(2)
16、熟悉Visual Studio 2013开发工具和C#编程语言。(3)研究FtpWebRequest、FtpWebResponse类,熟练掌握编写网络应用程序的方法。(4)研究基于流的I/O操作模式和多线程编程技术并将其应用于所开发的程序。(5)设计并实现FTP客户端/服务器,实现了预期的功能,解决了高并发访问的问题。第二章 需求分析2.1 需求分析作为一个实用的FTP系统,基本功能必不可少,包括用户登录以及用户信息验证,此外最重要就是文件上传与下载。用户在使用FTP客户端时,可以选择主动模式或者被动模式连接服务器。可以选择验证用户名与密码或者匿名登陆。服务器会验证用户名与密码,判断用户能否登
17、上服务器,划分用户的权限。这样可以保障安全性。用户使用FTP客户端程序主要为访问服务器,获取或者上传服务器文件。本文FTP系统采用C/S模式完成文件上传与下载,服务器与客户端分别完成数据连接时的信息发送与响应返回功能,两者配合使用,使得FTP系统具有较强的实用性。2.2功能列表 表2-1功能列表功能分组功能名功能简要说明登录与注销登录服务器要核对用户名和密码,判断是否为匿名用户,显示不同功能模块退出服务器与服务器断开连接,功能模块不可用模式选择选择连接模式使用主动连接模式或者被动连接模式选择传输类型选择Binary或者ASCII数据传输类型目录管理显示列表将服务器的文件资源显示在列表中跳转目录
18、输入路径改变当前目录新建目录在服务器端新建文件夹,需要用户实名登陆重命名文件夹将服务器文件夹重命名,需要用户实名登陆文件管理上传文件将本地文件上传至服务器,需要用户实名登陆下载文件将服务器文件下载至本地删除文件将服务器文件从服务器删除,需要用户实名登陆重命名文件将服务器文件重命名,需要用户实名登陆2.3 系统权限普通用户登陆后拥有所有功能。匿名用户匿名登陆后只拥有下载功能以及目录跳转要求。第三章 技术方案3.1 .NET架构平台. NET是Microsoft XML Web services平台,XML Web services的应用程序是通过Internet进行通讯和共享数据,而与操作系统、
19、设备和编程语言无关。Microsoft .NET平台也正提供了创建XML Web services功能并将相关服务集成在一起,使用户可无缝地使用。3.1.1 .NET的体系结构框架由公共语言运行时(CLR)、共享对象类库,ASP.NET三部分组成,其体系架构如图3-1所示。图3-1 .NET框架组成图公共语言运行时(Common Language Runtime, CLR)是架构在操作系统服务之上的,是所有.NET程序语言公用的运行时期组件。它是负责应用程序的实际执行,满足所有应用程序的需求,如果要执行任一程序语言开发出的程序,就必须安装该程序语言的运行时期组件,因为它包含了该语言程序的核心功
20、能,如函数和对象等。共享对象类集成了不同程序语言的对象库,成为所有程序共享的对象库,其中包括Web类(ASP. NET )、数据类(ADO. NET) , XML类、绘图类、系统类、Windows窗体类等,它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础,其中.NET类库的组织是以命名空间为基础的,最顶层的名字空间为System。 ASP. NET是共享对象类库中的一员,它提供了一个Web应用程序模型,其中该模型提供了一些Web窗体、控件及基础架构,该模型的作用能让程序设计者可轻松地建立Web应用程序;它提供了一些对应HTML元素的HTML控件以及功能更强的Web控件,这些
21、控件在服务器端执行,然后在客户端的浏览器以HTML的方式显示。3.1.2 .NET框架的特色1、透过因特网的标准做整合。以XML (extensible Markup Language,延伸标注语言)及SOAP (Simple Object Access Protocol,简单对象存取协议)等标准通讯协议,将各种由不同环境所组成的应用程序及组件整合在一起工作。 2、松散的整合组件。现阶段,要建立多层且功能可扩充的系统,其架构非常复杂,而且工具很少,而.NET Framework不需要很严谨的定义每个组件的结构即可很轻松的整合,提高程序的扩展性。 3、支持多种程序语言。许多程序设计者会使用多种语
22、言来开发他们的解决方案,这是因为每种语言都有它的长处,.NET Framework把这些语言整合起来,可以让开发人员使用不同的程序语言来开发解决方案: 4、提高程序的开发效率。利用.NET框架的自动内存管理,以及丰富的控件等特色,可使程序设计人员减少写程序会发生的问题,专心于撰写企业处理数据的规则,从而,缩短项目的开发时间。 5、完善的数据安全。目前因特网最受大家注目的是它的安全性,.NET Framework在设计安全模型时将所有的数据与程序代码做完善的安全防护。 6、可用操作系统的服务。Windows提供了比其它作业平台更丰富的服务及资源,.NET Framework将这些操作系统所提供的
23、功能包装起来,以更简单的方式提供给程序设计者使用。3.2 开发工具3.2.1 Visual Studio Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Window
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 FTP 客户端 服务器 设计 实现 报告
限制150内