大文件断点传输系统Word格式.docx

上传人:b****8 文档编号:22495622 上传时间:2023-02-04 格式:DOCX 页数:19 大小:430.10KB
下载 相关 举报
大文件断点传输系统Word格式.docx_第1页
第1页 / 共19页
大文件断点传输系统Word格式.docx_第2页
第2页 / 共19页
大文件断点传输系统Word格式.docx_第3页
第3页 / 共19页
大文件断点传输系统Word格式.docx_第4页
第4页 / 共19页
大文件断点传输系统Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

大文件断点传输系统Word格式.docx

《大文件断点传输系统Word格式.docx》由会员分享,可在线阅读,更多相关《大文件断点传输系统Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

大文件断点传输系统Word格式.docx

4

文献综述

研究水平与设计能力

20

19

17

15

13

课程设计说明书(论文)撰写质量

学术水平与创新

答辩效果

30

28

25

22

是否同意论文(设计)通过答辩

□同意□不同意

答辩小组成员签名

答辩小组组长签名:

年月日

课程设计成绩评定表

成绩汇总

比例

分数

课程设计总分

平时成绩

20%

课程设计报告

30%

答辩小组评分

50%

封面

成都信息工程学院

课程设计

题目:

 

作者姓名:

白燕荣

班级:

10级网络二班

学号:

2010121041

指导教师:

何林波

日期:

2013年1月5日

作者签名:

大文件断点续传的设计与实现

摘要

随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。

很多情况下,人们的日常工作需要借助文件传输来完成。

但大多数文件传输功能都需要借助移动磁盘等硬件设备或Internet上的服务器才能实现。

这就给那些具有大规模内部网络的用户造成了许多问题,如浪费资金、浪费网络资源、病毒入侵、降低了工作效率等。

为了方便局域网内主机的资源共享,需要开发一个基于局域网的文件传输工具,在内部网络中实现文件交换。

基于局域网的文件传输系统的设计选用VirtualStudio2008为开发工具,以HTTP协议及FTP协议实现局域网快速的文件传输功能。

本系统能够促进局域网内用户之间的文件资源共享,满足主机之间信息交流,确保文件及文件夹传输安全性,有效地提高工作效率。

设计共分为五大模块,分别为:

一、介绍选题背景及意义和国内外研究现状;

二、介绍HTTP协议及FTP协议技术,C/S架构的WPF程序设计技术;

三、对当前局域网文件传输进行需求分析并提出解决方案;

四、根据解决方案对系统进行设计;

五、对基于局域网的文件传输系统进行测试并得到测试结果。

关键词:

HTTP协议FTP协议WPF编程设计

目录

1引言1

1.1课题背景1

1.2国内外现状1

1.3本课题研究的迫切性1

1.4本课题的研究作用2

1.5本文的主要工作2

2系统需求分析和开发工具2

2.1系统目标2

2.2系统应具备的基本功能2

2.3开发环境及工具3

2.3.1开发环境3

2.3.2ASP技术介绍3

2.3.3HTTP协议3

2.3.4HTTP实现断点续传的原理3

2.3.5FTP协议3

2.3.6FTP工作原理4

2.3.7WPF简介4

3系统总体结构设计4

3.1系统基本简介4

3.2系统功能模块设计4

3.2.1基于HTPP协议下的功能4

3.2.2基于FTP协议下的功能5

4系统流程与实现5

4.1系统设计流程5

4.2页面详细介绍6

5系统测试与分析6

5.1测试6

5.2调试过程中遇到的问题6

结论7

参考文献7

1引言

1.1课题背景

该项目是在微软的WPF下进行的开发,要求对C#语言熟练的掌握,系统的开发涉及到C#语言的编写和框架布局的应用。

文件传输功能成为现在流行的即时通信工具不可少的一部分。

要实现一个功能较完善的文件传输工具,大文件在上传下载是节省时间,提高速度。

并可以在传输过程进行简单交互的功能。

1.2国内外现状

目前,国内外企业对局域网的文件传输系统认识和使用情况并不好,各个企业单位在局域网内实现文件传输,资源共享还有很大的缺陷。

技术无论是从理论上或实践上都还不够完善。

文件传输系统由于比较复杂,可变因素较多,安全性低,因此发展还不成熟。

但是随着科学技术的发展,各种以局域网为单位的文件传输系统已经进入稳健发展期,比如说市面上比较普遍使用的QQ、UC、飞鸽传书等以内部网络为中心的资源共享系统也即将进入高速发展期。

在国内,随着企业资源管理的规范化和规模的不断扩大,企业的计算机资源管理将不仅仅停留在依靠硬件或者Internet网络获取,而且将会向着安全的内部网络化资源管理方式迈进。

随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。

1.3本课题研究的迫切性

很多情况下,人们的日常工作需要借助文件传输来完成。

基于局域网的文件传输系统的设计选用.C#为开发工具,以http协议及Ftp协议通过建立连接后实现广域网快速,准确,安全文件上传下载功能。

本系统能够实现大文件的快速上传下载,并确保文件及文件夹传输安全性,有效地提高工作效率。

1.4本课题的研究作用

按照老师布置的实践任务,实现大文件传输断点处理,并完成代码的撰写,在编写代码的过程中,对学过的专业知识进行,加强编写代码的能力和逻辑思维能力,初步掌握C#网络编程原理。

在撰写设计文档的过程中,对一个项目的设计开发过程进行梳理,熟悉设计文档编写的规范和要求,为今后项目开发打基础。

1.5本文的主要工作

本文主要是在MicrosoftVisualStudio2010环境下应用C#语言通过文件传输协议中的HTTP协议和FTP协议完成对大文件断点续传的功能设计,其次实现特大文件在短时间内快速上传下载功能。

2系统需求分析和开发工具

2.1系统目标

该系统的具体任务就是设计大文件断点传输系统,使用HTTP协议及FTP协议实现文件断点续传快速下载功能,提高资源共享速率,方便用户上传下载文件,提高工作效率。

设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的应用程序要有良好的容错性,在用户出现误操作时能尽量及时地给出警告,以便用户及时改正。

2.2系统应具备的基本功能

1.基于HTTP协议实现大文件断点下载功能。

2.基于FTP协议实现大文件上传功能。

3.基于FTP协议实现大文件下载功能。

2.3开发环境及工具

2.3.1开发环境

v硬件平台:

两台PC机客户端,服务器各一台。

v操作系统:

win7;

v开发的语言:

C#;

v环境:

MicrosoftVisualStudio2010。

2.3.2ASP技术介绍

ASP,是ActiveServerPage的缩写,意为“动态服务器页面”,是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。

ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。

ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。

利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。

2.3.3HTTP协议

超文本传输协议(HTTP-Hypertexttransferprotocol)是分布式,协作式,超媒体系统应用之间的通信协议。

是万维网(worldwideweb)交换信息的基础。

它允许将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器。

HTML是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。

您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。

2.3.4基于HTTP实现断点续传的原理

断点续传就是指:

文件在传输过程式中被中断后,在重新传输时,可以从上次的断点处开始传输,这样就可节省时间,和其它资源.实现关键在这里有两个关键点,其一是检测本地已经下载的文件长度和断点值,其二是在服务端调整文件指针到断点处实现方法我们用一个简单的方法来实现断点续传的功能.在传输文件的时候创建一个临时文件用来存放文件的断点位置在每次发送接受文件时,先检查有没有临时文件,如果有的话就从临时文件中读取断点值,并把文件指针移动到断点位置开始传输,这样便可以做到断点续传了。

2.3.5FTP协议

FTP(FileTransferProtocol,FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。

FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。

2.3.6FTP工作原理

文件传输协议(FTP)是TCP/IP提供的标准机制,用来将文件从一个主机复制到另一个主机。

FTP使用TCP的服务。

2.3.7WPF简介

WPF为WindowsPresentationFoundation的缩写,意思是基于windows的图形界面处理,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。

由.NETFramework3.0开始引入,与WindowsCommunicationFoundation及WindowsWorkflowFoundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。

WPF是微软新一代图形系统,运行在.NETFramework3.0架构下,为用户界面、2D/3D图形、文档和媒体提供了统一的描述和操作方法。

基于DirectX9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。

程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。

WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NETUI框架,集成了矢量图形,丰富的流动文字支持flowtextsupport,3D视觉效果和强大无比的控件模型框架。

3系统总体结构设计

3.1系统基本简介

该系统主要由俩个主题构成,一个是基于HTTP协议完成的断点下载,一个是基于FTP协议完成的上传下载功能。

3.2

系统功能模块设计

3.2.1基于HTPP协议下的功能

1 下载:

首次传输其流程如下:

1.服务端向客户端传递文件名称和文件长度

2.跟据文件长度计算文件块数

3.客户端将传输的块数写入临时文件

若文件传输成功则删除临时文件

2 暂停:

第二次下载按以下流程进行

1.客户端从临时文件读取断点值并发送给服务端

2.服务端与客户端将文件指针移至断点处

3.从断点处传输文件

3 删除:

点击删除,触发删除处理事件,可以将下载完成的目录删除。

3.2.2基于FTP协议下的功能

输入FTP服务器的IP地址,发送请求。

2 上传:

键入客户端要上传文件的路径,输入上传到服务器的IP地址。

4系统流程与实现

4.1系统设计流程

设计流程:

1.明确设计目标:

实现对大文件断点传输;

2.确定使用协议:

HTTP协议,FTP协议;

3.确定开发平台:

MicrosoftVisualStudio2010;

4.设计用户界面,把各个功能在用户界面上体现出来;

5.设计前台页面;

6.使用C#编写后台代码。

4.2页面详细介绍

4.2.1系统实现框架图

4.2.2下载文件流程(基于HTTP实现断点下载的流程图)

4.2.3FTP实现下载上传流程图

4.2.4用户界面

4.2.5实现功能的部分代码

1.基于http协议实现断点下载的部分代码:

publicvoidStart()

{

//检查文件是否存在

//CheckFileOrCreateFile;

if(File.Exists(localAdress))

stream=File.OpenWrite(localAdress);

downLoadSize=stream.Length;

flowSize=stream.Length;

beforFlowSize=stream.Length;

stream.Seek(downLoadSize,SeekOrigin.Current);

return;

}

else

stream=newFileStream(localAdress,FileMode.Create);

downLoadSize=0;

flowSize=0;

beforFlowSize=0;

//获取文件大小

HttpWebRequesthttpRequest=(HttpWebRequest)HttpWebRequest.Create(fileAdress);

HttpWebResponsehttpResponse=(HttpWebResponse)httpRequest.GetResponse();

this.fileSize=httpResponse.ContentLength;

//开始在后台线程下载

//BeginDownload;

ThreadStartthreadStart=newThreadStart(Download);

downloadThread=newThread(threadStart);

downloadThread.IsBackground=true;

downloadThread.Start();

2.基于ftp协议实现下载的部分代码

publicvoidDownload()

isstart=true;

FtpWebRequestreqFTP;

//uri="

ftp:

//"

+ftpServerIP+"

/"

+path+fileName;

try

FileStreamoutputStream=newFileStream(filePath,FileMode.Create);

reqFTP=(FtpWebRequest)FtpWebRequest.Create(newUri(uri));

reqFTP.Method=WebRequestMethods.Ftp.DownloadFile;

reqFTP.UseBinary=true;

reqFTP.Credentials=newNetworkCredential(ftpUserID,ftpPassword);

FtpWebResponseresponse=(FtpWebResponse)reqFTP.GetResponse();

StreamftpStream=response.GetResponseStream();

longcl=response.ContentLength;

intbufferSize=2048;

intreadCount;

byte[]buffer=newbyte[bufferSize];

readCount=ftpStream.Read(buffer,0,bufferSize);

while(readCount>

0)

outputStream.Write(buffer,0,readCount);

ftpStream.Close();

outputStream.Close();

response.Close();

isfinish=true;

catch

3.基于ftp协议实现上传部分代码

5系统测试与分析

5.1测试

1.使用HTTP协议实现断点下

2.使用ftp协议实现上传

3.使用ftp协议实现下载

5.2调试过程中遇到的主要问题

●在HTTP协议下实现的断点下载

1.下载中虽然实现断点下载功能,但速度不够快。

没有完成一个文件多线程下载的功能;

2.文件大小显示是按MB显示的以至于小于1MB的文件显示不出文件大小。

●在FTP协议下实现的下载和上传

1.没有实现断点下载和上传;

2.在下载时,必须知道下载文件的路径,手动进行填写易出现错误。

结论

本设计经过近1个多月的努力,系统基本满足文件传输需要。

基于HTTP协议及FTP协议基本完成针对大文件断点传输的功能需求,前台下载页面和后台代码很好的分离开来,用户只需根据前台页面提示进行操作。

操作方便简单易学。

提高了用户的工作效率。

系统设计期间,学习到很多课堂上没有的知识,还积累了很多实践经验,增强了动手能力和解决实际问题的能力。

在此之前,对于ASP编程技术或是其他的编程知识都只是略知皮毛,尽管编了些程序,但都是功能较小、容易实现的设计,对知识没有深入了解。

在短短的几个月时间里,作者认真学习了ASP、SQL、VBScript等相关的编程知识,初步认识到ASP在基于动态交互式页面设计方面的强大功能及SQL数据库的重要性,对编程思想有了进一步的体会,养成了一些良好的编程习惯。

系统虽然完成,但是距离优秀仍存在一定差距,用ASP编程制作网页也需要继续学习。

希望自己能不断学习和实践,争取以后做得更好。

限于作者知识水平和经验有限,此系统还有许多有待完善和改正的地方,恳请各位老师和读者批评指正。

参考文献

[1]网络服务配置与管理.北京:

北京邮电大学出版社

[2]皱建.中文版SQLServer2000开发与管理应用实例[M].北京:

人民邮电出版社,2005。

[3]邓文渊,陈惠贞.ASP与网络数据库技术[M].北京:

中国铁道出版社,2005。

[4]盖天宇.ASP程序开发宝典[M].北京:

人民邮电出版社,2001。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1