文档详情

C#网络编程技术教程.ppt

发布:2019-02-11约1.51万字共29页下载文档
文本预览下载声明
C#网络编程技术教程 第七章 FTP编程 学习目标 了解FTP的相关基础知识。 掌握.NET中FTP的服务器端编程方法。 掌握.NET中FTP的客户端编程方法。 本章内容 7.1 FTP概述 7.2 .NET中的FTP编程 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.1 FTP概述 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 7.2 .NET中的FTP编程 第7章 FTP编程 * * FTP(File Transfer Protocol,文件传输协议)是Internet中相当重要的应用之一。通过FTP,用户可从FTP服务器下载(Download)或上传(Upload)文件。FTP被整合在浏览器中,用户可利用浏览器通过超链接(Hyperlink),下载服务器开放的任意文件,达到资源共享的目的。 FTP是一种Client/Server体系结构,但与一般的Client/Server体系结构不同。与Socket网络程序应用的最大差别,在于其定义了服务器端与客户端的行为模式,即相关的指令、响应及传输的数据类型。因此在开发FTP应用程序时,应先了解FTP的详细内容。 FTP是由RFC959 File Transfer Protocol(FTP)所定义的。在此RFC中,强调了FTP的目的为: ? 文件共享。 ? 通过应用程序直接或间接使用远程主机。 ? 提供一致性的协议,避免用户在不同主机上产生不同的操作方式。 ? 提供可靠及有效率的数据传输。 7.1.1 FTP结构 一般的Client/Server应用程序,只会在服务器端与客户端建立一个Socket连接,此连接同时处理服务器端与客户端间的连接以及数据的传输。而FTP则不同,服务器与客户端之间共建立两个Socket连接,一个以FTP默认端口21作为两者间的通信连接,另一个则用于客户端传输指令与服务器响应结果。FTP服务器端分为Protocol Interpreter(PI)及Data Transfer Process(DTP)两个模块。服务器端PI用来建立服务器Socket以监听并接收处理FTP客户端的连接请求,此连接会一直持续至客户端结束FTP应用程序为止。 FTP服务器端DTP专门处理FTP协议所定义的特殊指令,并将执行结果或信息返回至客户端。因此,DTP主要是负责传输数据(包括文件)。 FTP客户端分为Protocol Interpreter(PI)、Data Transfer Process(DTP)及User Interface(UI)三个模块。FTP客户端PI用来与服务器建立连接。FTP客户端DTP用来将用户输入的FTP指令传输至服务器端处理,并且接收服务器端的响应(包括文件的处理)。FTP客户端UI用来提供用户与PI间的交互界面。 7.1.2 FTP命令 除上述连接方式的特殊之外,FTP在命令与响应信息上也有其特殊的定义方式。FTP命令主要包括:访问命令、文件管理命令、数据格式命令、端口定义命令、文件传输命令和杂项命令。这些命令格式及描述分别见表7.1至表7.6所示。 该命令用于通知服务中止以前的FTP命令和与之相关的数据传送 ABOR 放弃(ABOR) 该命令终止USER,如果没有数据传输,服务器关闭控制连接;如果有数据传输,在得到传输响应后服务器关闭控制连接 OUIT 退出登录 (QUIT) 该命令终止USER,将所有I/O和账户信息写入,但不许进行中的数据传输完成。重置所有参数,控制连接打开,可以再次开始USER命令 REIN 重新初始化 (REIN) 参数是标记用户账户的Telnet串 ACCT ×××××× 账号(ACCT) 参数是标记用户口令的Telnet串。在访问非匿名FTP服务器时,该命令是必需的 PASS ×××××× 口令(PASS) 参数是标记用户的Telnet串。Telnet是一种Internet
显示全部
相似文档