多线程网络文件传输系统的设计与实现毕业论文.docx
《多线程网络文件传输系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《多线程网络文件传输系统的设计与实现毕业论文.docx(54页珍藏版)》请在三一办公上搜索。
1、 毕业设计(论文)标题问题多线程网络文件传输系统的设计与实现 学生姓名 学号 专业 班级 指导教师 评阅教师 完成日期2021 年5月 15日学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中分外加以标注引用的内容外,本论文不包含任何其他个人或团队已经颁布或撰写的成果作品。本人完全意识到本声明的法令后果由本人承担。 作者签名: 年 月 日 学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文办理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将
2、本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保留和汇编本学位论文。本学位论文属于1、保密 ,在_年解密后适用本授权书。2、不保密 。(请在以上相应方框内打“”) 作者签名: 年 月 日 导师签名: 年 月 日 目 录摘要1前言21 绪论41.1 研究背景及意义41.2 国表里研究现状41.3 本文研究内容52 系统需求分析62.1 功能模块描述62.2 软件需要实现功能72.3 通信原理及过程73 主要实现技术83.1关键要点分析83.2数据传输协议83.3 C/S构架123.4 多线程编程123.5 多线程技术133.6 文件的分块153.7 多线程文
3、件传输与断点续传163.8 Windows socket编程163.9 套接字和客户办事器通信204 系统概要设计与实现204.1 通信过程214.2 SOCKET建立连接过程214.3 文件的传输235 系统功能的演示255.1 办事器和客户端运行界面255.2 文件传输的演示266 总结与展望286.1 本文完成的主要工作286.2 未来研究展望28致谢29参考文献30 多线程网络文件传输系统的设计与实现 摘 要:文件传输是因特网上最常用的办事之一,多线程文件传输能有效地提高文件传输的速度和效率,本系统采用windows socket实现,套接字可以看成是两个网络应用轨范进行通信时,各自通
4、信连接中的一个端点。系统分客户端软件和办事器端软件两部分,同时需要用到多线程相关知识,一个应用轨范可以同时有多个线程一起运用CPU的资源,大大的加强对CPU的利用率,同时也从另一个方面加快了传输的速度。由于TCP/IP连接协议的办事是设计客户端/办事器应用轨范时的主流标准,所以本软件主要采用TCP/IP协议的网络通信技术;客户端,办事器类是从CAsyncSocket类中继承来的,因此本软件通信完全是异步的;轨范在 Windows XP系统、Visual C6.0下编译通过,且运行良好。关键词:文件传输 套接字 多线程 Abstract: is one of the most commonly
5、used services on the Internet, a multi-threaded can effectively improve the speed and efficiency, this system use the Windows sockets implementation, Socket can be regarded as two network applications for communications, each an endpoint of communication.Client software and server software system po
6、ints two parts, the need to use multithreading knowledge at the same time, an application can have multiple threads at the same time with the use of CPU resources, greatly strengthen the CPU utilization, but also from another aspect to speed up the transmission speed.As TCP/IP agreement linking the
7、service is designed client / server application procedures for the mainstream standards, Therefore, the software used mainly TCP/IP agreement network communication technology; client, server from CAsyncSocket inherited category, and therefore the software is completely asynchronous communi- cation;
8、procedures in Windows XP system and under Visual C + + 6.0 compiler,and Running wellKeywords:The The socket multithreading 前言 如今随着计算机应用的普及,已经有越来越多的人正在Internet(国际互联网)上畅游,许多人也已经将进入Internet作为下一个计算机升级的方针,而使用Internet进行文件传输,则是计算机联入Internet的一个重要功能之一。下面我们详细地谈一谈如何使用Internet的FTP功能进行文件传输。FTP中文意思为文件传输协议,用于办理计算机
9、之间的文件传送。一般说来,我们联网的主要目的就是实现信息共享,而文件传输则是计算机间实现信息共享的一个非常重要的内容之一。在Internet上早期实现文件传输并不是一件很容易的事,因为Internet是一个非常复杂的计算机环境,有个人电脑、工作站、MAC、办事器、还有大型机等。据统计目前连接在Internet上的计算机已经有四千多万台,并且每年正在以20%的速度增长。而这些连接在网上的计算机也在各自运行着分歧的操作系统,有运行Windows、Dos的个人电脑,有运行MacOS的苹果机,也有运行unix的办事器等,而各种操作系统的文件结构也各不相同。要解决这种异种机、异种操作系统之间的文件传输交
10、流问题,需要建立一个统一的文件传输协议,这就是FTP。基于分歧的计算机操作系统,就有分歧的FTP应用轨范,而所有的这些应用轨范都遵守同一种协议,这样我们就可以把本身的文件传送给别人,或者从其他的计算机用户中获得文件。因此文件传输凡是就是指计算机利用Internet进行文件传输的办事。FTP允许您从数以千计的远程主机上把文件传输到您的主机上,您可以传输计算机轨范、图像、声音、电影或其它任何文件。 FTP用于Internet上的控制文件的双向传输。在实现的层面上,FTP又可理解为一个可用于文件传输的客户机/办事器系统(C/S架构),该系统包孕客户机端轨范和办事器端轨范,客户端和办事器端通信轨则为F
11、TP协议。用户通过客户机轨范向办事器轨范发出命令请求,办事器轨范执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求办事器向用户传送某一个文件的一份拷贝,办事器会响应这条命令,将指定文件送至用户的机器上。客户机轨范接收到这个文件,将其存放在用户目录中。在通信协议的分层模型中,文件传输协议是在TCP(Transmission control Protocol,传输控制协议)之上的一个应用层协议,应用轨范之间的通信需要用到传输层提供的字节流透明无误传输办事。Windows操作系统具有TCP/IP协议栈,应用轨范可通过Winsock API函数的调用实现端到端透明数据链接
12、的建立。 网络应用轨范是一种在分歧系统的新进程间通过网络通信协议进行的进程间的通信问题。在网络中为了标识通信的进程,首先要标识网络中进程所在的主机,其次要标识主机用IP地址来标识分歧的主机,主机上分歧的进程要用使用端口号来标识。 其次,在Windows中编程是通过套接字SOCKET来编程的,套接字可以看成是两个网络应用轨范进行的通信时,各自通信连接种的一个端点。通信时,其中的一个网络应用轨范将要传输的一段信息写入它所在主机的Socket中,该Socket通过网络接口卡NIC的传输介质将这段信息发送到另一台主机的Socket种,使这段信息能穿传送到其他轨范中。要通过Internet进行通信,至少
13、需要一对套接字,其中一个运行在客户端,称之为ClientSocket,另一个运行于办事器端面,称为ServerSocket。按照连接启动的方式以及本地要连接的方针,套接字之间的连接过程可以分为三个步骤:办事器监听、客户端请求、连接确认。办事器监听是指办事端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。客户端请求是由客户端的套接字提出连接请求,要连接的方针是办事器端套接字。为此,客户端的套接字必需首先描述它要连接的办事器的套接字,指出办事器套接字的地址和端口号,然后再向办事器端套接字提出连接请求。 连接确认是当办事器端套接字监听到或者说接收到客户端套接字的连接请求时
14、,它就响应客户端套接字的请求,建立一个新的线程,把办事器端套接字的信息发送给客户端,一旦客户端确认了此连接,连接即可建立。而办事器端继续处于监听状态,继续接收其他客户端的连接请求。 网络传输文件的时候还需要用到多线程和线程间拜候互斥文件的问题。创建线程后,一个应用轨范可以同时有多个线程一起运用CPU的资源,大大的加强对CPU的利用率。同时也从另一个方面加快了传输的速度。但是要遇到一个问题就是各个线程对文件的共享问题。所以建立好的信号量来实现他们之间的拜候轨则是很重要的。否则,传输的文件将会泛起很多问题。1 绪论 这一部分主要介绍多线程文件传输的相关背景和研究的意义,大致概括了国表里研究的现状,
15、最后说明了本系统需要研究的主要内容。1.1 研究背景及意义1.1.1 研究背景 目前,国表里企业对局域网的文件传输系统认识和使用情况并不好,各个企业单位在局域网内实现文件传输,资源共享还有很大的缺陷。技术无论是从理论上或实践上都还不够完善。文件传输系统由于比力复杂,可变因素较多,安全性低,因此发展还不成熟。 但是随着科学技术的发展,各种以局域网为单位的文件传输系统已经进入稳健发展期,比如说市面上比力遍及使用的QQ、UC、飞鸽传书等以内部网络为中心的资源共享系统也即将进入高速发展期。在国内,随着企业资源办理的规范化和规模的不断扩大,企业的计算机资源办理将不仅仅逗留在依靠硬件或者Internet网
16、络获取,而且将会向着安全的内部网络化资源办理方式迈进。1.1.2 研究意义1.学会采用多线程提高传输速度 文件传输是因特网上最常用的办事之一,多线程文件传输能有效地提高文件传输的速度和效率。2.学会利用windows socket进行高性能开发 本系统采用windows socket实现,windows socket是因特网上进行通信轨范设计的常用方式,是开发高性能网络轨范的基础,采用socket方式可以编写出满足各种应用需要的网络轨范,具有很强的适应性。3.掌握网络底层开发技术本课题通过对网络文件传输系统的开发,使我掌握socket编程技巧,熟悉网络底层软件开发方式。1.2 国表里研究现状
17、目前,国表里企事业单位对文件传输系统的认识和使用情况并不好,各企事业单位大多在局域网内实现文件传输,资源共享方面还存在较多缺陷,对相关技术的理论研究也不够深入。由于文件传输系统的复杂性、多变性、安全性低等特点,使得其发展还不够成熟。随着科学技术的发展,各种以局域网或是广域网为基础的文件传输系统已经进入稳健发展时期。而计算机网络通信技术已趋于成熟,促使应用于文件传输的软件种类不断增多。由于网络编程技术的发展,人们使用的文件传输软件也浮现出更多的高性能、易操作、稳定好等特点,但是开发者在注重下载功能实现的同时,往往忽略了用户上传文件的需要。 在国外,用户使用的传输软件主要有网络蚂蚁(NetAnt)
18、和网际快车(FlashGet)。这些软件大都是针对用户下载来设计的,能够实现功能完善的下载办事。在国内,用户使用的文件传输软件主要是迅雷和飞鸽传书。迅雷主要针对的是文件快速下载的实现,而飞鸽传书则主要应用于局域网中的文件共享。目前常用的文件传输软件往往功能比力单一,也缺乏良好的用户使用界面和便当快捷的办事。许多软件在断点续传、多线程传输、进度显示以及文件的动态压缩等方面还存有欠缺。 随着企事业单位资源办理的规范化和规模的不断扩大,计算机的资源办理以及办公文档的发布和传递将不仅仅逗留在依靠硬件或者电子邮件的获取上,而是会向着更全面、更可靠、更快捷的标的目的发展。过去,企事业单位往往将文件传输系统
19、与OA系统结合在一起并将其作为OA系统的一个模块来处理。对于文档传输模块的设计,凡是都是为办公文档办理而设计,并不能考虑到一些特殊文档的办理情况,例如多个文档同时传输的高效存储拜候的问题等。综上所述,目前的文件传输系统在文件多线程传输的实现上还不是很完善,虽然可供用户选择的文件传输软件种类繁多,但仍然存在质量良莠不齐、功能各有异同的问题,用户在使用的时候也总会遇到诸多的不便,需要对一些技术做进一步的改善和提高,对于那些经常需要同时传输多个文件的特殊行业和生产范畴,更加需要有针对性的进行改善。1.3 本文研究内容1.软件设计原理本软件是在Windows操作系统下,Visual C+ 6.0环境下
20、借用WinSock控件实现的,是基于TCP/IP协议的C/S模式,在办事器端和客户端分别以socket为中心进行编程,客户端和办事器端的界面分别是由文件发送模块和文件接收模块组成。客户端先调用connect()与办事器建立连接,然后用send()发送数据;办事器端先调用listen()侦听客户端的连接请求,然后调用accept()对连接请求进行响应,如果需要接收数据,则会调用receive()接收。 2.软件设计思路 我设计实现的多线程文件传输系统主要包孕两个大的部分:办事器端和客户端。其中办事器端开启办事,监听客户端的连接,然后如果有客户端开启,建立了连接以后,就可以由办事器端选择文件来进行
21、发送传输。在办事器端,因为是多线程传输,会有文件的分割,所以文件传输的时候可以选择较大的文件进行传输,客户端同时也是和办事器端一样用多线程进行连接和接收,同时客户端可以开启多个,并同时接收办事器传输的文件。3.软件主要功能本文件传输系统主要实现了办事器端和客户端的文件传输,并且采用多线程技术,有效地提高了文件传输的效率。软件研究了Windows多线程编程技术,使用流式套接字来完成办事器端与客户端连接。按照客户端对办事器端拜候的特点,在办事器端采用异步方式监听客户端的连接请求,避免客户端长时间等待办事器端的回应泛起卡死现象,更好的完成客户的文件传输需求,充分利用办事器端的系统资源。2 需求分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多线程 网络 文件传输 系统 设计 实现 毕业论文

链接地址:https://www.31ppt.com/p-4974700.html