FTP客户端程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXX学院课外设计论文

题目FTP客户端程序设计

教学院计算机学院

专业网络工程

班级

姓名

指导教师

年月日

课外设计(论文)

目录

1 绪论 (2)

1.1 研究背景 (2)

1.2 主要工作 (2)

2 相关知识介绍 (2)

2.1 FTP 工作原理 (2)

2.2 FTP工作模式 (3)

2.3 FTP 传输模式 (4)

2.3.1 ASCII传输方式 (5)

2.3.2 二进制传输方式 (5)

3 FTP客户端的设计 (5)

3.1设计目的及工具选择 (5)

3.1.1 设计目的 (5)

3.1.2 设计工具 (5)

3.2 客户端主要模块设计 (6)

3.2.1 客户端连接模块 (6)

3.2.2 上传模块 (8)

3.2.3 下载模块 (11)

4 调试与操作说明 (15)

4.1 运行方法 (15)

4.2运行结果 (15)

5 课程设计总结 (17)

参考文献 (17)

FTP客户端的设计与实现

FTP 是Internet 上用来传送文件的协议。它是为了我们能够在Internet 上互相传送文件而制定的文件传送标准,规定了Internet 上文件如何传送。通过FTP 协议,我们就可以跟Internet 上的FTP 服务器进行文件的上传或下载。本文以实现一个简单易用的FTP 客户端为目标,通过分析FTP 协议的基本工作原理和FTP 的数据传输原理,研究如何使用C++ 工具对FTP 客户端进行设计,选择C++来实现FTP 客户端程序的上传下载等主要功能,并用相应软件提供的一个支持可视化编程的开发环境,从而实现了对FTP 客户端的实现。

1 绪论

1.1 研究背景

FTP是Internet上最早也是最广的应用,直到今天它仍是最重要和最基本的应用之一。用FTP将信息下载到本地是一件十分普遍的事。也随之出现了许多下载软件。尽管远程

登录(Telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件

方便。如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。FTP正是完成这项工作的工具,你可以在任意一个经过文件

传输协议(FTP)访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现

在已有1000多个(96年的数据)FTP文件服务器对所有INTERNET用户开使用,用户可以通

过与Internet相连到远程计算机,把自己需要的文件传输过来或是把自己的收集传输上去

与他人共享。传统的数据库应用系统采用的是客户机/服务器(Client/Server)模式,有高度

的交互性,高效的用户界面等优点

1.2 主要工作

通过客户端可以实现文件的上传和下载。其促进文件的共享(计算机程序或数据)、鼓

励间接或者隐式的使用远程计算机、向用户屏蔽不同主机中各种文件存储系统的细节和可靠

和高效的传输数据。

2 相关知识介绍

2.1 FTP 工作原理

FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文

件的双向传输。同时,它也是一个应用程序。用户可以通过它把自己机器与世界各地所有运FTP协议的服务器相连,访问服务器上的资源和信息。

FTP协议在TCP/IP协议栈中的位置如表1:

HTTP FTP TELN SMTP DNS TFTP NMP 应用层

TCP UDP 传输层

IP 互联网络层X25 ISDN LAN WLAN FDDI ATM 网络接口层

当启动FTP从远程计算机拷贝文件时,事实上启动了两个程序:一个本地机器上的FTP 客户端程序,它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP 服务器程序,它响应请求把你指定的文件传送到你的计算机中。FTP采用“客户端/服务器”方式,用户要在自己的本地计算机上安装FTP客户端程序。从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。FTP协议采用客户端/服务器(Client/Sever)模式,由FTP客户端程序和FTP服务器端程序组成。使用时,先启动FTP客户端程序与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。但是FTP有一个根本的限制,那就是,如果用户在某个主机上没有注册获得授权,即没有用户名和口令,就不能与该主机进行文件传输。但匿名FTP服务器除外,它能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“Anonymous”或“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问者进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件,而不允许上载文件。也就是说,用户只能从匿名FTP主机拷贝其需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息、数据和软件。人们只要知道特定信息资源的主机地址,就可以用匿名FTP登陆。

2.2 FTP工作模式

FTP 采用C/S(客户端/服务器)模式进行通信,但与其他的C/S 模式网络通信协议又有一个很大的区别。通常在进行HTTP 通信或是TELNET 通信的时候,只需要一个端口进行通信。

即客户端只需要连接一个端口进行数据通信。如TELNET 的默认端口是23,用户从头到尾都只需使用这个端口。但是FTP 通信除了有一个默认端口21 之外,还需要其他的端口。其中默认端口(21)主要进行控制连接,进行命令协议和服务器端的响应码的传输;另外一个非标准端口主要进行数据传递,如文件的上载、下载等。至于非标准端口的产生则要根据用户选择的连接模式而定:如果客户选择的是主动模式(PORT),则需要用户端提供给服务器一个IP 地址和一个非标准端口;而如果用户采用被动模式(PASV),则服务器端需要提供给客户端一个IP 地址和一个非标准端口。下表是几个著名的TCP 端口号:

相关文档
最新文档