多线程断点续传的FTP软件设计.doc

上传人:博****1 文档编号:543670691 上传时间:2022-11-02 格式:DOC 页数:27 大小:9.89MB
返回 下载 相关 举报
多线程断点续传的FTP软件设计.doc_第1页
第1页 / 共27页
多线程断点续传的FTP软件设计.doc_第2页
第2页 / 共27页
多线程断点续传的FTP软件设计.doc_第3页
第3页 / 共27页
多线程断点续传的FTP软件设计.doc_第4页
第4页 / 共27页
多线程断点续传的FTP软件设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《多线程断点续传的FTP软件设计.doc》由会员分享,可在线阅读,更多相关《多线程断点续传的FTP软件设计.doc(27页珍藏版)》请在金锄头文库上搜索。

1、中南民族大学毕业论文(设计)学院: 计算机科学学院 专业: 计算机科学与技术 年级:2006 题目:多线程断点续传的FTP软件设计 学生姓名: 朱擎 学号:06061112 指导教师姓名:朱容波 职称:副教授 2010年6月1日中南民族大学本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名: 年 月 日6 目录摘要1Abstract1一前言2 (一)设计背景2 (二)设计内容2 (三)FTP的简介2

2、 (四)FTP的工作原理3 (五)FTP的系统结构和功能描述31. FTP系统结构的一般过程32. Winsocket网络编程基础3二FTP多线程技术介绍4(一)FTP协议的介绍和一些基本命令4(二)如何从 FTP服务器上下载文件5(三)FTP多线程下载技术6(四)FTP多线程实例6三FTP多线程断点续传的实现以及编码7(一)实现方法7(二)工作流程7(三)服务器端代码的实现8(四)客户端代码的实现28结论30致谢30参考文献30支持多线程断点续传的FTP软件设计摘要 文件的传送功能是如今网络应用中的重要功能之一,是实现共享的前提条件。但现今的网络还很不稳定,要想单纯靠FTP来传送大量的数据,

3、有可能会因为网络不稳定而半途而废,本论文是在VC+基础上编写支持断点续传的FTP软件,其中涉及服务器与客户端的链接,文件保存方式的技巧,线程任务划分和同步运行,友好界面的设计等很多匠心独运的设计技巧,实现不稳定网络中单、多线程断点续传数据,并对单、多线程断点续传输数据的性能结合运行结果进行有效的比较和分析。并在现有的FTP软件的基础上提出了对其进行改进的方法,有效提高数据传输的可靠性和高效性,对当今网络中的数据传输具有一定的意义。关键字 断点续传;FTP;服务器;客户端;多线程下载Support breakpoint continuingly FTP software designAbstra

4、ct File transfer function is now one of the important function of network applications, is the precondition of sharing.But now, the network is not stable, want to be sent by simple FTP data, because the network may be unstable and halfway, this paper is based on vc + + written in support breakpoint

5、continuingly FTP server software, including links with the client, file save mode skills, thread task division and synchronization operation, friendly interface design, the design skill alone many instability in the network realization, multithreading breakpoint continuingly data, and the single, mu

6、lti-thread download data transfer performance effectively combined operation results compared and analyzed.And in the existing FTP software is put forward on the basis of the improvement of the method of data transmission, effectively improve the reliability and efficiency of the current network dat

7、a transmission has certain significance.Key words Breakpoint continuingly; FTP; Server; The client; Multithreaded downloads1引言 随着计算机技术和网络技术的发展,FTP服务已是当前网络的重要应用之一3,FTP服务器为客户提供文件上传和文件下载服务,而当今讨论和应用较多的是FTP的下载续传技术,对于上传的技术则涉及的较少。越来越多的网络应用和网络协议需要用到并支持断点续传的功能,即由于网络不稳定造成的文件传输终止,下次能够从上次终止的地方开始接着传送,避免重复下载数据,提高

8、了数据的有效性和传输的高效性。为了满足新的通信需求,研究人员已开发了许多新的协议和算法。而在已有的协议(如FTP)基础上增强协议的功能是可行且有效的方法,多线程断点续传的设计和实现可以强大FTP的功能,更高效的实现大量数据的传送。1.1设计背景文件传输协议(FTP)作为网络共享文件有效的传输协议,在网络应用软件中具有广泛的应用,在很多场合可以满足网络用户对共享数据、有效与可靠传输的需求4,5。 FTP是FileTransfer Protocol(文件传输协议)的缩写,用来在两台计算机或异构网络间互相传送文件。相比其他协议(如:HTTP),FTP协议要复杂得多,FTP协议要用到两个TCP连接,一

9、个是命令链路,用来在FTP客户端和服务器间传送命令;另一个是数据链路,用来上传和下载各种格式的数据。FTP使用客户服务器方式1,2。与一般的Client/Server应用最大的不同点在于:一般的Client/Server应用程序只会在服务器端和客户端建立一个Socket连接,此连接同时处理服务器端和客户端的连接以及数据的传输;而FTP协议则不同,在服务器端和客户端共建两个Socket连接,一个是以FTP协议默认的端口21作为两者之间的通信连接,另一个连接则作为客户端传输指令和服务器端响应结果用15。一个FTP服务器可同时为多个客户进程提供服务。FTP服务器进程由两大部分组成:一个是主进程负责接

10、收客户端发来的请求;另外有若干个从属进程负责处理单个的请求。FTP软件断点续传指的是文件上传或下载时,将上传或下载的任务划分为几个部分。每个部分采用一个线程同步进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分继续上传或下载后面的没有完成的部分,而没有必要重头开始上传或下载。这样可以节省时间,提高速度。有时用户上传或下载数据要历时数小时,一旦连接中断,不具备断点续传的FTP服务器或下载软件就只能重头开始上传或下载;比较好的服务器或下载软件应该具备断点续传的能力,这样大大减少了用户的烦恼17。利用多线程实现的支持断点续传的FTP软件正是这样的一种好的服务器,在网络中的应用会越来越广泛。

11、1.2 设计内容FTP文件传输服务器系统是在VC开发环境下、基于C/S模式、使用当前模块化软件设计思想编程实现的。在服务器设计时先总体设计服务器系统的整体模型,之后再分别设计前台的控制界面和后台服务器的框架。然后使用Windows平台上通用的客户端软件和设计编写的测试软件对此信息传输服务进行测试,并对测试结果进行分析8,10。断点续传文件保存的方法是产生两个文件:内容文件和配置文件。FTP多线程下载技术部分是将一个要下载的文件用几个线程来完成,即将文件分成几个子模块,但并不是把文件的内容存放到对应的几个不同缓冲区里,而是生成几个不同的偏移量。 1.3 FTP简介FILE TRANSFER PR

12、OTOCOL(FTP)意为文件传输协议,用于管理计算机之间的文件传送。FTP 通常指文件传输服务。 FTP 是 Internet 上使用非常广泛的一种通讯协议。它是由支持 Internet 文件传输的各种规则所组成的集合,这些规则使 Internet 用户可以把文件从一个主机拷贝到另一个主机上,因而为用户提供了极大的方便和收益。FTP 和其它 Internet 服务一样,也是采用客户机/服务器方式。使用方法很简单,启动FTP 客户端程序先与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。FTP 有一个根本的限制,那就是,如果用户未被某一FTP 主

13、机授权,就不能访问该主机,实际上是用户不能远程登录(Remote Login)进入该主机。也就是说,如果用户在某个主机上没有注册获得授权,没有用户名和口令,就不能与该主机进行文件的传输。而 Anonymous FTP(匿名 FTP)则取消了这种限制。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,均可以互相传送数据。 FTP 应用在 TCP/IP 网络体系结构中位于应用层,所使用的 FTP 协议在网络协议栈中位于 TCP 层之上,属于一种应用层协议, 1.4 的工作原理开发任何一种基于的客户端软件都必须遵循的工作原理,的独特优势同时也是与其他客户服务器程序最大的不同点在

14、于它在两台通信的主机间使用了两条连接,一条是数据连接,用于传送数据;另一条是控制连接,用于传送控制信息16。这种将数据和命令分开传送的思想大大提高了的效率,而其他客户服务器应用程序一般只有一条连接13。图给出了的基本模型。客户由三个构件:用户接口,客户控制进程和客户数据传送进程。服务器有两个构件:服务器控制进程和服务器数据传送进程12。在整个交互的会话中,控制连接始终是处于连接状态,数据连接则在每一次文件传送时先打开后关闭。用户接口数据传送进程控制进程数据传送进程控制进程 文件传输客户服务器图的基本模型1.5 FTP的系统结构和功能描述1.5.1 FTP系统结构的一般过程目前的FTP客户端软件很多,在功能上,一般都具有文件的上传、下载、在服务器上创建或删除目录和文件的功能20。这里不再继续类似FTP客户端软件的开发,而是采用一种新的FTP客户端软件,称为FTP文件信息采集系统,该系统的功能主要有:(1) FTP主机信息自动发现,就是能搜索和寻找任意指定网段内匿名的FTP服务器,将匿名FTP服务器的IP地址以列表的形式报告给用户,可以帮助用户最大限度的利用互联网上FTP提供的公共信息资源;(2) FTP文件信息的采集,在搜索匿名的FTP服务器主机信息的同时,系统将采集服务器内的文件信息列表,也可以利用用户名和密码登录指定的非

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号