本科生 文
文目 FTP多程下工具姓名 黄辰学号 1021111221
班 10211112班
年 2010
件工程学院 件学院
指教 副教授完成 2014年5月13 日
作者声明
本人以信誉重声明所呈交的学位 文 是本人在指教指下由本人独立撰写完成的没有剽窃、抄 、造假等反道德、学 范和其他侵行 。文中引用他人的文献、数据、件、
料均已明确注出 不包含他人成果及 得 理工大学或其他教育机构的学位或 而使用的材料。本 文 的研究做出重要
献的个人和集体均已在文中以明确方式明 。本 文 引起的法律果完全由本人承担。
本 文成果 理工大学所有。
特此声明 。
文作者字
字日期 年 月 日
本人声明学位文是本人指学生完成的研究成果 已
文的全部内容 并能保 目 、 、摘要部分中英文内容的一致性和准确性。
学位文指教 名
年 月 日
FTP多程下工具
黄辰
Multithread Downloading SystemHuang chen
2014年5月13 日
摘 要
随着中国代互网行的速展 网用的数量以及用年 在不断的大。网需求的增 刺激着IT技不断的提升。
网使人与人、人与事之的交互得 高效。 程源的 是网最基本的功能之一高效的 速度构成了网如今的蓬勃展。本文主要 “从程服端取源” 行了述解了网的重要性 以及人的生活来的影响。
本文始介了网下的基本概念分析了FTP 下的理及其展程。 FTP 的地址格式、 模式、接模式行了 的介 。接下来述了代网下工具的技原理及 分析了断点 技和多程程技 网下的影响。
本文 了一个以FTP下 基 、多程程技手段的FTP多程下工具。系利用多程程技模多个客端与程服器行通信使系下速度快。利用合文档存
下流使本地存速度快整合率高 易于 数据完整性。利用面向象的思 程序构使程序易于展 内容。文章的最后 出了部分程序源代 解了 的思路。
: 多程下 FTP 断点
Abstract
With the rapid development of modern Internet industry in China, the number of networkusers as well as the age is constantly expanding. The growth of network demands,continuously stimulate the promotion of IT technology.
Internet enable the interaction among people and objects becomes easier and moreefficient.The access to remote network resources is one of the basic functions of network,andrapid speed of access forms the prosperity of network.This article expressed the theme of"getthe resources from a remote server" ,And also explained the importance of the network,andthe impact on human being’s life .Firstly,this article presented the basic concepts ofdownload, analyzed the theory of FTP protocol as well as the process of development .Andalso simply introduced address format ,transmission mode as well as the connection mode ofFTP protocol.Then it discussed the technology, principle and implementation of networkdownload tools in nowadays,And also analyze the impact of HTTP technology as well as themulti-threaded programming techniques on the downloads from the network.
Finally, the article introduced the design of the multi-threaded downloading tool thatbased on FTP protocol and taken multi-threaded program as technical means.The systemmaked the uses of multi-threaded programming techniques to simulate multiple clients tocommunicate with a remote server.This technology makes the downloading speed of thesystem faster.This system uses the composite document to storage downloading stream, thatmakes speed of storage faster,promotes the efficiency of integration,and checks integrity ofdata easier.In this program,Using the object-oriented method to develop the construction ofthe program,make the program easy to extend the protocol.In the end of the article,it presentssome source codes,analyses the cogitation of the design.
Keywords:Multi-threaded Download;FTP;Breakpoint Resume;
目
理工大学 文
1
随着21世网信息代的到来 网在人的生活中已是不可或缺的一部分。人在网上公、看新 、听音 、 、物等等上网 占据了生活的大部分。
1.1研究意及目的
如今 网用的数量在不断的增 网需求也在不断的大 网 率在不断的提高网的 速率影响着用的上网体 代网普遍存在 速率慢的象。在 情况下 多程下工具呼之欲出 。用以改善下 源慢的状况。
在 的C/S架构中通FTP下文件的步 客端送文件取命令服端服端响FTP命令 向客端 文件客端接收文件数据 下 束。 的源取方式 方便在网 代 成型的初期 网用量并不大 方式很好的解决了用 取源的 。如今网用数量在不断的增 致网的 速率低。 了能更快的取网 源 需要在 的方式上行改 。
1.2研究内容
本文主要研究了网下文件的原理及相的技 。系基于FTP(文件 )采用FTP的RFC959准 了基本的FTP命令。系 合多程技和断点 技 了文件的并分下 可以有效的提高下速度。
理工大学 文
2 程序 的技基
2.1 FTP
2.1.1 FTP 介
File Transfer Protocol FTP翻 “文件 ” 它可以在网上任意两台算机之 文件是当前使用广泛的 之一。FTP 普遍用在C/S架构中 可以在控制台命令中手工使用FTP命令 可以方便熟悉FTP命令的相参数及作用 。FTP地址格式如下所示 本文前 者可以去网上搜相的FTP内容ftp://号:密@ip地址(域名):端口号/路径/文件名
在上述地址格式中 只有ip地址(域名)参数是必的其它的参数都有默 。在网中存在多“匿名”服器 服器用于向公众提供免的文件 服此 FTP都有一的匿名登 号:anonymous 。
2.1.2 FTP的工作原理
FTP的 模式有两 。ASCII 模式是以ASCII 数据 模式主要用来 文字信息等一系列非二制格式存的文件二制 模式是以二制流 数据 模式主要用来 以二制格式存的文件。
FTP的接模式有两 。主 接是指客端主 建一个数据接 并将数据接的地址通PORT命令送服端 服端接到个端口上。被 接是指客端送PASV命令服
端 由服端建一个数据接 并将数据地址和端口号送客端 客端接到个端口上。
FTP比其他网 。通信需要建两条接控制接和数据接。
控制接是初始客端向服端送的接。控制接用来送控制命令 比如 接建立后 送命令USER行登 。登成功后可以送LIST命令取当前的文件列表 送CWD命令改服器的工作路径等等。
数据接指的是 文件内容的接。比如在控制接上用 送LIST命令求取服器的文件列表 服器与客端会通两 接模式中的一 商好数据端口和数据地址然后建立接。在条接上 数据。FTP的通信如 1所示
1 FTP通信
通FTP客端与服器之建立一一答的交互方式。客端送FTP命令命令由小于四个字母的写成 一个命令 一个任 。按照命令的功能 可以将命令分 控制、 参数和FTP服 。服器返回答信息 每个FTP命令都会有一个以上的答信息。答的格式如下:
答 空格文本CRLF
理工大学 文
答信息的 是答 以空格分隔后跟随着描述文本。由于答都是字母写成用不便于直 描述文本用来用提供相的描述信息。FTP登流程如 2所示
2 FTP登流程
2.2多程技
2.2.1多程介
程 也称作量的程。它是一指令的集合 可以在程序里独立的行是操作系
的最小行元。多程程技建立在操作系支持 程中行多个程的能力上。
多程程技使用程序的效率得到了很好的提升 但也使原本 的程得更加的繁 。在以往的 程程中程序的行是按照代 序行的 符合人大的思考方式 。然而在多程程中 多个程之采用的是异步行的方式 程之是无序的 同都在运行。 人需要考每个程的运行情况特要注意防止死的生。
多程技的点由于多个程之是并 行的提高了用程序的运行效率降低了系 于置状的 提高了系 源利用率 用程序可以前后台操作保 用程序始于可响 状。
多程技的缺点使程序 更加 需要考一系列多程独特的 如死 增加了用程序的管理 和操作系的度 。
死 指的是二个或二个以上的运行程在争有限的系 源 造成了一相互等待的象。程死 生后相互等待的程在没有其他外界的助下将永 于等待状 。多
程程仔的考代是否会造成死 。
2.2.2 程的建
在默 情况下 一个程只有一个程 从主函数main 始 行。 用CreateThread()函数将建一个新的程 函数返回HANDLE句柄(句柄是保存在程中的一个索引指向了一个内核数据构称个内核象。如 程是一内核 象)新程的入口由函数的第三个参数指定。在理情况下 一个程可以建任意多的程。
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,//安全属性使用默 NULL
SIZE_T dwStackSize,//初始堆的大小。0表示使用默大小
LPTHREAD_START_ROUTINE lpStartAddress,//程函数的指
LPVOID lpParameter,// 程函数的参数
DWORD dwCreationFlags,//程志位
LPDWORD lpThreadId//程Id
);
3多程并 运行解
全球领先的IDC服务商华纳云“美国服务器”正式发售啦~~~~此次上线的美国服务器包含美国云服务器、美国服务器、美国高防服务器以及美国高防云服务器。针对此次美国服务器新品上线,华纳云也推出了史无前例的超低活动力度。美国云服务器低至3折,1核1G5M低至24元/月,20G DDos防御的美国服务器低至688元/月,年付再送2个月,两年送4个月,三年送6个月,且永久续费同价,更多款高性价比配置供您选择。...
PQ.hosting怎么样?PQ.hosting是一家俄罗斯商家,正规公司,主要提供KVM VPS和独立服务器,VPS数据中心有香港HE、俄罗斯莫斯科DataPro、乌克兰VOLIA、拉脱维亚、荷兰Serverius、摩尔多瓦Alexhost、德国等。部分配置有变化,同时开通Paypal付款。香港、乌克兰、德国、斯洛伐克、捷克等为NVMe硬盘。香港为HE线路,三网绕美(不太建议香港)。免费支持wi...
HostKvm也发布了开年促销方案,针对香港国际和美国洛杉矶两个机房的VPS主机提供7折优惠码,其他机房业务提供8折优惠码。商家成立于2013年,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面列出几款主机配置信息。美国洛杉矶套餐:美国 US-Plan1CPU:1core内存:2GB硬盘...