2024年5月1日发(作者:)

目录

1 引言 .............................................................................................................................................. 1

2 FTP简介 ........................................................................................................................................ 1

2.1 FTP简介 ............................................................................................................................. 1

2.2 FTP工作原理 ..................................................................................................................... 1

3 系统分析及配置 ........................................................................................................................... 2

3.1 Ftp客户端设计思想 .......................................................................................................... 2

3.2服务端配置-操作系统IIS安装 ...................................................................................... 3

4 FTP客户端概要设计 .................................................................................................................... 5

4.1系统模块 ............................................................................................................................. 5

4.2系统功能 ............................................................................................................................. 5

4.3主要数据结构分析 ............................................................................................................. 5

4.4程序界面设计 ..................................................................................................................... 6

5 详细设计及主要代码 ................................................................................................................... 7

5.1设置列表控件的风格 ......................................................................................................... 7

5.2对话框初始化 ..................................................................................................................... 8

5.3实现客户端连接到FTP服务器 ........................................................................................ 8

5.4列出FTP服务器目录 ........................................................................................................ 9

5.5退出FTP服务器 .............................................................................................................. 11

6 测试运行..................................................................................................................................... 12

6.1登陆界面 ........................................................................................................................... 12

6.2列出服务器目录 ............................................................................................................... 12

6.3退出服务器 ....................................................................................................................... 12

7总结 ............................................................................................................................................. 12

参考文献......................................................................................................................................... 13

1 引言

FTP是Internet上用来传送文件的协议,它是为了我们能够在Internet上互相转送文件

而制定的文件转送标准,规定了Internet上文件如何传送,通过FTP协议,我们可以跟Internet

上的FTP服务器进行文件上传或下载。本实验以实现一个简单的FTP客户端为目标,实验

目的是:1)熟悉网络应用层的传输协议,增强对FTP协议的了解;2)提高自己的动手能

力以及编程能力;3)掌握vc和提高对MFC界面制作能力。

本次试验的要求如下:

1)要求实现的程序为图形化界面,可以输入FTP服务的相关信息(包括IP地址、用

户名与密码),输出交互过程中的FTP命令与响应信息,以及从FTP服务器的根目录获得的

文件(或目录)列表。

2)要求遵循RFC959的相关FTP协议规定。只要求实现USER、PASS、PASV、LIST

和QUIT命令。点击Connect按钮,实现USER与PASS命令;点击LIST按钮,实现PASV

与LIST命令;点击Quit按钮,实现QUIT命令。

3)要求有良好的编程规范与注释信息。

4)要求有详细的说明文档,包括程序的设计思想、工作流程、关键问题等。

5)要求在Windows操作系统环境中,建议使用Visual C++编程工具实现。

2 FTP简介

2.1 FTP简介

FTP(File Transfer Protocol)是文件传输协议,我们可以在服务器中存放大量的共享软

件和免费资源,网络用户可以从服务器中下载文件,或者将客户机上的资源上传至服务器。

FTP就是用来在客户机和服务器之间实现文件传输的标准协议。它使用客户/服务器模式,

客户程序把客户的请求告诉服务器,并将服务器发回的结果显示出来。而服务器端执行真正

的工作,比如存储、发送文件等。

如果用户要将一个文件从自己的计算机发送到FTP服务器上,称为FTP的上载

(Upload),而更多的情况是用户从服务器上把文件或资源传送到客户机上,称为FTP的下

载(Download)。在Internet上存在有许多FTP服务器,它们往往存储了许多允许存取的文

件,如:文本文件、图像文件、程序文件、声音文件、电影文件等。

2.2 FTP工作原理

FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层,即

应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被

广为熟知的"三次握手"的过程,它带来的意义在于客户与服务器之间的连接是可靠的,而且

是面向连接,为数据的传输提供了可靠的保证。

首先,FTP并不像HTTP协议那样,只需要一个端口作为连接(HTTP的默认端口是80,

FTP的默认端口是21),FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个

端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为

20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用:

 从客户向服务器发送一个文件。

 从服务器向客户发送一个文件。

1