FTP 客户端设计与实现
摘 要
互联网的一大特点是实现信息共享,文件传输是信息共享的十分重要的内容
之一。随之出现了许多 FTP 服务器来共享一些信息资源,编写一个操作简单,方
便的 FTP 客户端来下载这些资源受到了人们的极大欢迎。
FTP 客户端软件是在了解 FTP 工作原理后,利用 C#语言来设计和开发的。FTP
客户端分为连接模块、文件管理模块、文件传输模块和辅助管理模块。连接模块
实现主机与服务器的连接的功能;文件管理模块实现新建文件、删除文件等功能;
文件传输模块实现主机与服务器连接成功后上传和下载文件功能。辅助管理模块
实现一些相关功能如:读写配置 INI 文件。该 FTP 客户端软件达到了使用方便的
目标,希望开发软件的经验能为使用.NET 设计开发 Windows 应用程序 FTP 客户
端软件的初学者提供一些帮助。
关键词:.NET;C#;文件传输协议;客户端
The Design and Implementation of FTP Client
Abstract
The predominant characteristic of network is information resources sharing.
Document transmission is an important component element. Because of this, many
File Transfer Protocol (FTP) servers appeared, and won its way into favor.
C# programming language is used to develop the FTP client software after
comprehending the FTP working principle. And this FTP client software is made up
of linking module、file management module、file transmission module and assisted
management module. Linking module performs the functions of linking a host and a
server; functions of operating on files are implemented in file management module;
transmitting files is easy through applying file transmission module; assisted
management module mainly performs the functions of reading and writing the INI
files. This FTP client software is usable. And I hope the experience from this software
development can do some help to the learners who'll devote their efforts to FTP client
software development.
Key words: .NET; C#; FTP, Client
目 录
论文总页数:21 页
1 引言............................................................................................................................................1
1.1 课题背景............................................................................................................................1
1.2 国内外研究现状................................................................................................................1
1.3 本课题研究的意义............................................................................................................1
1.4 本课题的研究方法............................................................................................................2
2 技术背景....................................................................................................................................2
2.1 .NET 技术简介...................................................................................................................2
2.2 VISUAL STUDIO.NET 简介.....................................................................................................2
2.3 开发语言选择....................................................................................................................2
2.4 FTP 简介.............................................................................................................................3
2.5 FTP 工作模式.....................................................................................................................4
3 FTP 软件需求分析.....................................................................................................................6
3.1 需要完成目标....................................................................................................................6
3.2 功能需求............................................................................................................................7
3.3 环境需求............................................................................................................................7
4 FTP 软件详细设计与实现.........................................................................................................7
4.1 软件总体分析与设计........................................................................................................7
4.2 各模块具体设计................................................................................................................7
4.2.1 连接管理设计 ...........................................................................................................7
4.2.2 文件管理设计 ...........................................................................................................9
4.2.3 文件传输设计 ...........................................................................................................9
4.2.4 辅助功能设计 .........................................................................................................10
4.3 模块的程序实现..............................................................................................................10
4.3.1 连接管理的程序实现 .............................................................................................10
4.3.2 文件管理的程序实现 .............................................................................................11
4.3.3 文件传输的程序实现 .............................................................................................12
4.3.4 辅助功能的程序实现 .............................................................................................13
5 软件测试..................................................................................................................................15
5.1 测试前分析......................................................................................................................15
5.2 测试的过程与分析..........................................................................................................15
5.3 测试小结..........................................................................................................................17
结 论..........................................................................................................................................18
参考文献..........................................................................................................................................19
致 谢..........................................................................................................................................20
声 明..........................................................................................................................................21
第 1 页 共 21 页
1 引言
1.1 课题背景
FTP 是 Internet 上最早也是最广的应用,直到今天它仍是最重要和最基本
的应用之一。用 FTP 将信息下载到本地是一件十分普遍的事。也随之出现了许多
下载软件。尽管远程登录(Telnet)提供了访问远程文件的极好方法,但怎么也
比不上使用自己计算机中的文件方便。如果用户想使用其它计算机上的文件,最
理想的方法就是把它 COPY 到自己的计算机中,以便在本地计算机上操作。FTP
正是完成这项工作的工具,你可以在任意一个经过文件传输协议(FTP)访问的
公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在已有 1000
多个(96 年的数据)FTP 文件服务器对所有 INTERNET 用户开使用,用户可以通
过与 Internet 相连到远程计算机,把自己需要的文件传输过来或是把自己的收
集传输上去与他人共享。传统的数据库应用系统采用的是客户机/服务器
(Client/Server)模式,有高度的交互性,高效的用户界面等优点。
1.2 国内外研究现状
1971 年,第一个 FTP 的 RFC(RFC 114)由 A.K.Bhushan 在 1971 年提出,同时
由 MIT 与 Harvard 实验实现;1972 年,RFC 172 提供了主机间文件传输的一个用
户级协议;1973 年 2 月,在长期讨论(RFC 265,RFC 294,RFC 354,RFC 385,
RFC 430)后,出现了一个官方文档 RFC 454;1973 年 8 月,出现了一个修订后的
新官方文档 RFC 542,确立了 FTP 的功能、目标和基本模型。当时数据传输协议
采用 NCP;1980 年,由于底层协议从 NCP 改变为 TCP,RFC 765 定义了采用 TCP
的 FTP;1985 年,一个作用持续至今的官方文档 RFC 959(STD 9)出台。用 FTP 传
输文件,本来用户事先应在远方系统注册,但后来为了便于大家获取资源,FTP
在互联网上有一种特殊的也是非常广泛的应用是匿名 FTP (anonymous FTP)。通
过 Internet , 任 何 用 户 可 以 使 用 FTP 和 一 个 公 用 账 号 ( 通 常 账 号 名 是
anonymous)去获得一些公用资源。在 Internet 上目前有许许多多的这种公用计
算机,我们把这种用来做匿名 FTP 服务的计算机称作 FTP 服务器(FTPSite),对
每一个联入 Internet 的用户,只要知道这些 FTP 服务器的地址,就可以与它们连
接并获取上面各种资源。由于 FTP 操作简单实用,开放性强,且能充分利用
Internet 来 进行 信息传 递与交 流,所 以目 前 越来 越多的 FTP 服务 器 连入
Internet,这样越来越多的资源就可以通过匿名 FTP 来获得。
1.3 本课题研究的意义
进一步熟悉.net 开发环境,掌握一定开发 Windows 应用程序技术。对提高
自己的 C#语言编程能力,熟悉 ftp 工作过程。制作一个界面友好,快速,稳定
的下在软件。对信息的快速共享起着一定的作用。让用户能第一时间和别人共同