【精品】VC中ftp协议实现多线程断点续传.doc

【精品】VC中ftp协议实现多线程断点续传.doc

ID:51738007

大小:92.00 KB

页数:8页

时间:2020-03-15

【精品】VC中ftp协议实现多线程断点续传.doc_第1页
【精品】VC中ftp协议实现多线程断点续传.doc_第2页
【精品】VC中ftp协议实现多线程断点续传.doc_第3页
【精品】VC中ftp协议实现多线程断点续传.doc_第4页
【精品】VC中ftp协议实现多线程断点续传.doc_第5页
资源描述:

《【精品】VC中ftp协议实现多线程断点续传.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ftp下载的好处我在这里就不多说了,许多工程会把ftp下载作为一个重要的功能来实现。微软提供的Winlnet类可以利用下面这些函数:InternetOpen;InternetConnect;GetCurrentDirectory;SetCurrentDirectory;FtpGetFile;很容易实现ftp的下载,网上关于这方面的文章也很多。但是要实现ftp的多线穆下载,利用这些函数就显得有些牵强了。用socket根据ftp协议來开发将会变的十分灵活。下面我就逐步的讲解整个开发的过程:开发环境BCB(

2、纽.件模式),VC环境下请自行稍作改动。看了这篇文章后对于BCB开发人员来说,不仅可以对FlashGet等软件的开发原理有一定的了解,特别是在开发纽件方面也有很大的指导作用,请耐心的将它看完。很简单!!首先介绍一下部分ftp协议:I/-lII用户

3、丨II接口

4、<一->

5、用户I

6、一•一/I

7、/

8、FTP命令

9、/V

10、II服务器K>1User

11、

12、IIPIIIFTP响应

13、

14、PI

15、

16、11——/1

17、————/

18、IIIIIII/~V

19、数据

20、/V

21、1文件

22、<—>1服务器

23、《一—>1用户1<—>1文件11系

24、统丨IIDTP

25、

26、连接IIDTPII1系统I

27、——/IIV服务器FTP用户FTP图一FTP服务示意图用八FTP和服务器FTP之间要传送文件,需要有两个连接:命令通道和数据连接,从名字上就可以看出命令通道是传送命令的,数据通道是用于传送文件。服务器与服务器之间的数据传送在此就不多作解释。主要用到的命令为:USER,PASS,TYPE,SIZE,REST,CWD,PWD,RETR,PASV,PORT,QUIT;USER:参数是标记用户的Telnet串。用八标记是访问服务器必须的,此命令通帘是控制连接后第

28、一个发出的命令,有些主机述会要求口令和帐户。服务器可以在任何时间接收新的USER命令以改变访问控制和(或)帐户信息。这可以重新开始登录过程,所以传输参数不变,在进行中的文件传输在过去的访问控制参数下完成。PASS:参数是标记用八口令的Telnet串。此命令紧跟USER命令,在某些站点它是完成访问控制不可缺少的一步。因此口令是个重要的东西,因此不能显示出来,服务器方没有办法隐藏口令,所以这一任务得山用户FTP进程完成。TYPE:参数指定表示类型。有些类型需要第二个参数,第一个参数山单个Telnet字符定

29、义,第二个参数是十进制整数指定字节大小,参数间以vSP>分隔。下面是格式:A-ASCII

30、

31、N-Non-print

32、T-TelnetformateffectorsE-EBCDIC

33、

34、C-CarriageControl(ASA)/I"ImageL〈字节大小〉-本地字节大小图二TYPE参数示意图默认表示类型是ASCII非打印字符,如果参数未改变,以后只改变了第一个参数,则使用默认值°SIZE:参数从FTP服务器上返冋指定文件的大小。REST:参数域代农服务器耍重新开始的那一点,此命令并不传送文件,而是略

35、过指定点后的数据,此命令后应该跟英它要求文件传输的FTP命令。CWD:此命令使用户可以在不同的目录或数据集下工作而不用改变它的登录或帐户信息。传输参数也不变。参数一般是目录名或与系统相关的文件集合。PWD:改变当询的工作目录。RETR:开始传送指定的文件°(从REST参数指定的偏移量开始传送)PASV:此命令要求服务器DTP在指定的数据端口侦听,进入被动接收请求的状态,参数是主机和端口地址。PORT:参数是要使用的数据连接端口,通常情况下对此不需要命令响应。如果使用此命令时,要发送32位的IP地址和1

36、6位的TCP端口号。上面的信息以8位为一组,逗号间隔十进制传输。QUIT:退出登录。各个参数的具体用法举例如下:USERsandyr//用户名为sandy登录PASSsandyr//密码为sandyTYPEIrSIZEsandy.txtr//如果sandy.txt文件存在,则返冋该文件的大小REST100r〃重新指定文件传送的偏移CWDinfor/r//获収当前的工作目录PWDtemp/r//改变当前的工作目录RETRr//开始传送文件PASVr/

37、/进入被动模式PORTh1,h2,h3Jh4,p1Jp2r//进入主动模式,hi,h2,h3,h4为ip地址的4个部分。p1,p2是16进制的端口号下面介绍一下各个函数的使用顺序和-•些应注意的地方:使用这些命令的前提条件是客戶端和服务器端建立了连接。比如ftp服务器地址:192.16&1.81,端口:210那么利用Winsock的API函数建立socket连接,然后使用USER,PASS登陆FTP服务器.需要下载文件,要确保文件必须在当前工作目录

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

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

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