第4章FTP客户端?本章将带领大家编写一个简单的FTP客户端程序,实现简单的功能:登录FTP服务器,处理服务器上的文件,如上传、下载,最后安全退出服务器。先弄清楚原理,然后我们再考虑怎样去实现。?FTP的工作原理跟TCP一样,客户端需要先与服务器连接,等待服务器的应答,最后再建立数据通道。所以,FTP浏览器在和服务器建立连接时也需要经过“三次握手”的过程。这表示客户端与服务器之间的连接是可靠、安全的,这也为数据传输提供了可靠的保证。。 FTP数据结构?进行FTP编程之前,用户首先需要知道FTP有哪些数据结构。由于在某些主机上保存的文件是面向字节的,某些是面向记录的。所以在FTP中,除了有不同的数据类型以外,还有几种不同的文件结构类型。这样做的目的是为了在不同的主机之间传送文件时能够相互识别。?二进制结构:文件中没有内部结构,一般被看作二进制流。?文件式结构:由许多记录组成的文件。?页面结构:由不同的索引页组成文件。??注意:一般情况下,如果没有使用FTP命令去设置文件的结构,则默认的结构是文件式结构。 FTP数据传输模式?在FTP的数据传输中,传输模式将决定文件数据会以什么方式被发送出去。一般情况下,网络传输模式有3种:将数据格式化后传送、压缩后传送、不做任何处理进行传送。当然不论用什么模式进行传送,在数据的结尾处都是以EOF结束。在FTP中定义的传输模式有以下几种。?二进制模式就是将发送数据的内容转换为二进制表示后再进行传送。这种传输模式下没有数据结构类型的限制。?在二进制结构中,发送方发送完数据后,会在关闭连接时标记EOF。如果是文件结构,EOF被表示为双字节。其中第一个字节为0,而控制信息包含在后一个字节内。?本书中如无特别说明,均采用该模式进行传输数据。?文件模式就是以文件结构的形式进行数据传输。文件结构是指用一些特定标记来描述文件的属性以及内容。一般情况下,文件结构都有自己的信息头,其中包括计数信息和描述信息。信息头大多以结构体的形式出现。?计数信息:计数指明了文件结构中的字节总数。?描述信息:描述信息是负责对文件结构中的一些数据进行描述。例如,其中的数据校验标记是为了在不同主机间交换特定的数据时,不论本地文件是否发生错误都进行发送。但在发送时发送方需要给出校验码,以确定数据发送到接收方时的完整性、准确性。?在文件结构中,既可以用记录结构,也可以用相对应的数据表示。。 文件的信息头结构?描述信息是由字节中的位特定标记值来说明。列举几个特定标记值及其意义,。 特定标记值及意义?,描述信息中可能存在多个标记值,所以必须将需要用到的标记都进行设置。标记值意义64表示文件的结束符标记EOF32表示文件中有可疑错误16表示具有重发标记的文件
VisualC++网络编程案例实战之FTP客户端-课件PPT(演示稿) 来自淘豆网www.taodocs.com转载请标明出处.