预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

FTP客户端的设计与实现 摘要:FTP(FileTransferProtocol)即文件传输协议是TCP/IP协议族中的一个应用层协议。FTP客户端利用TCP的可靠传输服务,减少了不同文件系统间的不兼容性,实现了文件的传送功能;而且它提供了直观的文件传输操作方式,用户只需要使用鼠标拖动选择就可以完成相关操作。文章主要介绍了FTP的相关知识、VisualBasic各种控件以及WindowsAPI函数的调用等内容。在此基础上文章最后介绍了如何使用VB完成FTP客户端应用程序的开发。 关键词:VB;FTP;WindowsAPI 0 引言 FTP(FileTransferProtocol)协议即文件传输协议是TCP/IP体系结构中的一个重要协议,专门用于局域网或Internet中服务器和客户端之间进行文件传输。FTP协议利用TCP的可靠传输服务,减少了不同文件系统间的不兼容,实现了文件的传送功能。FTP极大的丰富了我们的网络生活,成为互联网上不可缺少的服务方式之一[1]。 1 设计内容 FTP使用客户/服务器方式,本课题就是设计一个FTP客户端程序,其具有以下基本功能:能完成FTP链接的打开和关闭;能实现本地和远程目录的浏览;能执行文件的上传和下载等有关操作。 2 开发工具简介 2.1 VisualBasic简介 Basic发展到今天已经有很多版本,如GW-Basic、QBasic、VisualBasic等等。其中VisualBasic是最容易学习与应用的程序语言之一,而且其功能也非常强大。VisualBasic6.0自带的一些功能控件可以帮助我们实现网络通信的功能,是我们网络编程中的一个重要的编程工具。 2.2 WindowsAPI函数介绍 Win32API也就是MicrosoftWindows32位平台的应用程序编程接口。WindowsAPI可以提供形形色色的服务,凡是在Windows操作系统环境下开发的应用程序,都可以调用WindowsAPI。 2.3 InternetTransfer控件介绍 InternetTransfer控件是微软为方便使用者设计Internet应用程序所提供的一种控件。它提供两种Internetprotocol:HTTP及FTP。我们在使用时,必须先设置好它的存取方式。存取方式分为直接连接或通过proxy来连接Internet网络两种。当我们设置好相关参数之后,InternetTransfer控件提供两个method(OpenURL及Execute)让我们执行网络相关操作,我们可以用这两个命令来执行一些Internetcommand。 2.4 WindowsSocket控件 Socket由UNIX操作系统逐步移植到Windows,WindowsSocket规范于90年代初,依次有1.0、1.1、2.0和3.0。WindowsSocket规范定义并记录了如何使用API;Socket是网络通信的基本操作单元,目前Windows支持两种套接口:流套接口和数据报套接口。TCP/IP中的TCP协议使用的是流套接口,提供了面向连接的、无差错的、发送先后顺序一致、包长度不限和非重复的网络信息包的传输。TCP/IP中的UDP则使用数据报套接口,该接口提供双向的、有序的、无重复并有记录边界的数据报服务。 2.5 FTP基础理论知识 FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,同时在传输层使用TCP,所以FTP客户在和服务器建立连接前就要经过一个被称作"三次握手"的过程。其连接是可靠的,传输是面向连接的,所以能为数据传输提供可靠的保证。 使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。但其违背了Internet的开放性,为此系统管理员建立了一个特殊的用户ID,名为anonymous,Internet上的任何人在任何地方都可使用该用户ID。习惯上,人们用自己的E-mail地址作为口令。 2.6 FTP工作原理 FTP协议中,控制连接均由客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式。下面以PORT方式为例,如图1所示: ①FTP服务器运行FTP守护进程,等待用户的FTP请求。 ②用户运行FTP命令,请求FTP服务器为其服务 ③FTP守护进程收到用户的FTP请求后,派生出FTP子进程与用户进程 交互,建立文件传输控制连接,使用TCP端口21。 ④用户输入FTP子命令,服务器接收子命令,如命令正确,双方各派生一个数据传输进程FTP-DATA,建立数据连接,使用TCP端口20进行数据传输。 ⑤本次子命令请求的数据传输完毕,拆除数据连接,结束FTP-DATA进程。 ⑥用户继续输入FTP子命令,重复④、⑤的过程,直至用户输入quit