Ftp服务器和客户端的实现与C#设计(二)

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协议实现信息交互。用户通过客户端进行基本的上传下载操作,实现资源文件的共享。然而,绝大部分网络浏览器提供的文件下载器并不具备文件资源管理功能或管理起来很不方便,另外,市面上大部分FTP软件都是收费、不开源的并且会出现功能冗余、配置繁琐的情况。所以自主设计一个客户端与服务器两者兼具并且具备良好人机交互界面的FTP文件传输系统就显得尤为重要。
2、国内外研究现状
1971年,第一个FTP的RFC (Request For Comments,是一系列以编号排定的文件,包含了关于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文件传输系统。

猜你喜欢

转载自blog.csdn.net/WDTSW/article/details/88800046