FTP客户端软件的设计与开发.doc

FTP客户端软件的设计与开发.doc

ID:55631447

大小:138.50 KB

页数:24页

时间:2020-05-21

FTP客户端软件的设计与开发.doc_第1页
FTP客户端软件的设计与开发.doc_第2页
FTP客户端软件的设计与开发.doc_第3页
FTP客户端软件的设计与开发.doc_第4页
FTP客户端软件的设计与开发.doc_第5页
资源描述:

《FTP客户端软件的设计与开发.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、设计思想本软件了解通过FTP协议传送文件的方法,学会使用C#实现一个简单的FTP客户端。随着计算机网络的完善和成熟人们通过FTP下载资源也普遍增加,特别是对于局域网用户,FTP服务器大大方便了同学们共享资源。FTP协议(FileTransferProtocol)即远程文件传输协议,是一个用于简化IP网络上系统之间文件传送的协议,FTP是TCP/IP的一种具体应用,它工作在OSI模型的第7层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,FTP建立的就是一个可靠的连接。采用FTP协议可使In

2、ternet用户高效地从网上的FTP服务器下载大信息量的数据文件,将远程主机上的文件拷贝到自己的计算机上。以达到资源共享和传递信息的目的。由于FTP的使用使得Internet上出现大量为用户提供的下载服。Internet成为了一个巨型的软件仓库。将使用两条单独的TCP连接,一条专用于发送FTP命令,称为控制连接,另一条则专用于传递数据,称为数据连接。1)控制连接客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的

3、建立过程,这样的连接就称为FTP控制连接。2)数据连接FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。PASV(被动)方

4、式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。FTP协议采用客户机/服务器 (Client/Sever)模式,由FTP客户端程序和FTP服务器端程序组成。使用时,先启动FTP客户端程序与远程主

5、机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。但是FTP有一个根本的限制,那就是,如果用户在某个主机上没有注册获得授权,即没有用户名和口令,就不能与该主机进行文件传输。但匿名FTP服务器除外,它能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“Anonymous”或“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问者进行跟踪。出于安全的目

6、的,大部分匿名FTP主机一般只允许远程用户下载(download)文档。FTP是Internet上用来传送文件的协议。它是为了我们能够在Internet上互相传送文件而制定的文件传送标准,规定了Internet上文件如何传送。通过FTP协议,我们就可以跟Internet上的FTP服务器进行文件的上传或下载。本软件以实现一个简单易用的FTP客户端为目标,通过分析FTP协议的基本工作原理和FTP的数据传输原理,研究如何使用VisualStudio2010工具对FTP客户端进行设计,用VisualStudio20

7、10编程工具设计和实现了FTP服务与客户端设计,从而实现了对FTP客户端的开发。二、算法流程图FTP客户端软件登陆模块上传下载删除创建目录刷新图1系统的整体框架图用户输入服务器地址、用户名密码及端口号查询服务器判断在显示目录文件列表显示文件进行错误处理是否图2客户端连接流程图点击上传按钮弹出文件选择对话框判断弹出文本框显示上传成功弹出文本框显示上传失败是否选择需要上传的文件图3上传模块流程图三、源代码下面给出的是用程序FTPClient.cs中的源代码:usingSystem;//导入名字空间usingSy

8、stem.Net;usingSystem.Collections.Generic;//包含定义各种对象集合的接口和类usingSystem.IO;usingSystem.Text;//包含表示ASCII等字符编码的类usingSystem.Net.Sockets;usingSystem.Windows.Forms;namespacemyftp//命名空间{publicclassftpStrPrase{//定义一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。