基于局域网的文件传输系统的设计与实现(有源程序代码)_第1页
基于局域网的文件传输系统的设计与实现(有源程序代码)_第2页
基于局域网的文件传输系统的设计与实现(有源程序代码)_第3页
基于局域网的文件传输系统的设计与实现(有源程序代码)_第4页
基于局域网的文件传输系统的设计与实现(有源程序代码)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于局域网的文件传输系统的设计与实现(有源程序代码) 源程序代码等全套设计联系 174320523 各专业都有分类号:TP311.1 U D C:D10621-408-20076064-0密 级:公 开编 号:2003215031成都信息工程学院学位论文基于局域网的文件传输系统的设计与实现论文作者姓名:冯军申请学位专业:网络工程申请学位类别:工学学士指导教师姓名:赵军论文提交日期:2007年06月09日基于局域网的文件传输系统的设计与实现摘 要 随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。很多情况下,人们的日常工作需要借助文件传输来完成。但大多数文件传输功能都需要借助移

2、动磁盘等硬件设备或Internet上的服务器才能实现。这就给那些具有大规模内部网络的用户造成了许多问题,如浪费资金、浪费网络资源、病毒入侵、降低了工作效率等。为了方便局域网内主机的资源共享,需要开发一个基于局域网的文件传输工具,在内部网络中实现文件交换。 基于局域网的文件传输系统的设计选用Delphi 为开发工具,以C/S模式通过建立Socket连接后实现局域网快速,准确,安全的点对点文件以及文件夹传输功能。本系统能够促进局域网内用户之间的文件资源共享,满足主机之间信息交流,确保文件及文件夹传输安全性,有效地提高工作效率。 设计共分为五大模块,分别为:一、介绍选题背景及意义和国内外研究现状;二

3、、介绍TCP/IP点对点协议技术,C/S架构的Delphi程序设计技术和Socket网络编程技术;三、对当前局域网文件传输进行需求分析并提出解决方案;四、根据解决方案对系统进行设计;五、对基于局域网的文件传输系统进行测试并得到测试结果。 关键词:C/S结构;网络通讯组件;点对点;Socket连接 The Design and Implementation of File Transfer System Based on LANAbstract Along with the Internet technology swift and violent development, the comput

4、er correspondence the human culture has brought the earth-shaking change for. In very many situations, people's routine work needs to draw support from the file transfer to complete. But the majority file transfer function all needs to draw support moves hardware equipment or the Internet and so

5、 in the floppy disk server can realize This gave these to have the large-scale internal network user to create many problems, like the waste fund, the waste network resources, the viral invasion, reduced the working efficiency and so on. In order to facilitate in the local area network main engine r

6、esources sharing, needs to develop one based on the local area network file transfer tool, realizes the document exchange in internal network The design and implementation of file transfer system base on LAN uses Delphi development tool,C/S mode through the establishment of Socket after connecting L

7、AN users fast, accurate, the point-to-point security files and folders transmission functions. The system can contribute to LAN users to share file resources to meet the exchange of information between mainframe, ensure that the filets and folders transmission security, effectively improving efficie

8、ncy The design is divided into five major module altogether, including: First, introduction selected topic background and significance and domestic and foreign research present situation; Second, introduces the TCP/IP point to point protocol technology, C/S overhead construction Delphi programming t

9、echnique and the Socket network programming technology; Third, carries on the demand to the current local area network file transfer to analyze and to propose the solution; Fourth, carries on the design according to the solution to the system; Fifth, to carries on based on the local area network fil

10、e transfer system tests and obtains the test result. Key words: C/S structure; Network communication module; Point-to-point; Socket connection. 目 录论文总页数:26页1引言01.1选题背景01.2国内外研究现状01.3课题研究的意义02理论基础02.1TCP/IP点对点协议技术02.2C/S架构的DELPHI程序设计技术02.3SOCKET网络程序设计技术03系统需求分析03.1现行业务系统描述03.2现行系统存在的主要问题分析03.3提出解决方案0

11、4系统设计04.1系统总体架构04.2系统界面设计04.2.1界面设计04.2.2用户信息04.3系统功能模块设计04.3.1获取用户信息04.3.2局域网内文件传输04.3.3局域网内文件夹传输05系统实施及测试05.1实施概况05.2测试方案05.3测试结果0参考文献0致 谢0声 明0引言 选题背景 当今世界科学技术飞速发展,尤其以计算机通信网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不?接。在计算机与网络迅速发展的今天,借助于网络进行信息资源交流给人们带来了极大的方便。各种文件传输系统都已被广大用户接受。比如、UC、Internet邮件等互联网中运用最为广泛的文件传输工具,但它们

12、之间的文件传输往往对远程服务器有非常大的依赖性,没有彻底实现点对点安全的文件传输。甚至需要花费大量的金钱购买各种移动磁盘或者其他局域网内连接主机的硬件设备。而达到的效果却总是因为传输效率以及安全威胁而受到很大的限制。在这种形势下,开发一个功能简单而实用,能在Windows操作系统中运行,并且具有可移植性的局域网内文件传输工具势在必行。 国内外研究现状 目前,国内外企业对局域网的文件传输系统认识和使用情况并不好,各个企业单位在局域网内实现文件传输,资源共享还有很大的缺陷。技术无论是从理论上或实践上都还不够完善。文件传输系统由于比较复杂,可变因素较多,安全性低,因此发展还不成熟。 但是随着科学技术

13、的发展,各种以局域网为单位的文件传输系统已经进入稳健发展期,比如说市面上比较普遍使用的、UC、飞鸽传书等以内部网络为中心的资源共享系统也即将进入高速发展期。在国内,随着企业资源管理的规范化和规模的不断扩大,企业的计算机资源管理将不仅仅停留在依靠硬件或者Internet网络获取,而且将会向着安全的内部网络化资源管理方式迈进。 课题研究的意义 随着网络通信技术的发展与用户需求日益多样化,现代局域网络正处在变革与发展之中,本课题的主要目的之一是为了更清晰地培养学生掌握科学研究方法的能力和使学生迅速体会文件传输系统的研发过程。基于局域网的文件传输系统能够让家庭网络以及各个企业等局域网对内部资料有一个快

14、捷,准确,安全的共享。特别是对如今较大系统研发的模块分工合作得到了绝对保密性,从而使各项工作有计划、更科学的进行及顺利完成,使企业的办事效率得到显著提高。文件传输系统主要功能是自动获取局域网内用户的主机名,IP地址以及工作组名字,最终以C/S模式通过TCP/IP协议实现点到点文件传输功能。 本系统既锻炼了我们的实际动手能力,使我们将大学四年所学的理论知识与实际开发相结合,又引导我们进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要的意义。 理论基础 TCP/IP点对点协议技术 系统的文件传输功能主要依赖于建立客户端与服务器之间点对点的的连接后实现。所以就得与TCP/IP协议协合。

15、TCP/IP协议Transmission Control Protocol/Internet Protocol叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP是网络中使用的基本通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议TCP和网际协议IP,但TCP/IP实际上是一组协议,只是TCP协议处于运输层,它能够确保文件准确的传送;而IP协议处于网络层,它标识了处于网络中任意主机的唯一身份。TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。 ?采用TCP/

16、IP详解的原因: 第一,局域网内主机之间的是依靠IP地址进行标识。本设计要实现文件及文件夹的传输就需要以IP地址为传送基础进行; 第二,新用户上线后需要向局域网内所有用户广播自己的主机信息使网内主机得到本机的IP地址等。需要用到与TCP/IP相对的UDP协议。 C/S架构的DELPHI程序设计技术 本系统的开发主要采用C/S结构。所谓C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将信息交互任务合理分配到Client端和Server端来实现,降低了系统文件传输过程中的开销。目前大多数应用软件系统都是Clie

17、nt/Server形式的两层结构。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。 Request Response Request Response Request Response Request Response 图1 客户机/服务器通讯结构 文件传输系统同时采用了Delphi网络组件编程技术。Delphi是美国BORLAN

18、D公司推出的功能强大的应用程序开发工具。它具有简单、高效、功能强大的特点。它可是众多程序员至爱的编程工具。Delphi具有很多特性:基于窗体和面向对象的方法,高速的编译器,与Windows编程紧密结合,强大而成熟的组件技术。而且其重要的还有Object Pascal语言,它是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发可视化软件的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borlan

19、d公司的资源编辑器(Resourse Workshop)。DELPHI是可视化应用编程开发环境,可重用性面向对象编程语言,快速编译器能够有效快速建立WINDOWS应用程序,快速简化WINDOWS与浏览器客户,WEB服务器以及中间件等开发之外,同时也支持基于WEB服务的Microsoft,.net, Sun one体系,而且提供给WEB开发者需要的可伸缩性和可靠性。用户可以开发支持WEB服务特性的服务器端和客户端应用,而这一切都是通过一套高度集成的可视化开发工具,先进的编译技术和可重用的组件完成。 SOCKET网络程序设计技术 文件传输系统得以实现的根本在于建立有效的连接以及是否存在文件传输载体

20、。所谓Socket通常也称作"套接字",用于描述IP地址和端口,socket类表现了客户端套接字,它是属于两台计算机的两个TCP通讯端口之间的通讯通道。在网络编程中,客户端使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口。服务器使用Socket监听指定的端口,端口可以随意指定,等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。系统需求分析 现行业务系统描述 目前各种文件资源交流的主要方式可以分为三种:(1)通过局域网内主机之间以文件共享后再经过复制,粘贴方式实现。(2

21、)依靠可移动磁盘的两次信息转移实现。(3)通过Internet邮件方式实现。此三种方法并非不可行,但它们都需要花费较长的时间以及安全性也得不到保证,工作效率将在很大程度上受到限制。 如果通过局域网内主机之间复制粘贴来实现文件资源共享,将浪费大量的网络带宽,极大程度上影响了网内用户的工作效率,甚至导致用户不能正常工作;如果依靠移动磁盘实现文件的共享,将花费大量的金钱,而文件较大移动磁盘容量不足的情况下会令人极为头疼,何况移动磁盘是病毒传播的重要途径;如果通过Internet邮件方式实现,用户需要接入Internet服务器,这种方式对远程服务器有非常大的依赖性,即使1KB的文件都要经历极度繁琐的路

22、径,不能彻底实现点对点的即时交流,文件较大的情况下就不言而喻了。最重要的是,在如今病毒黑客横行的网络世界中,信息的安全性也得不到保证。 综上所述,依靠Internet网络等方式实现文件资源交互的准确性,快速性及安全性远达不到理想的要求。 现行系统存在的主要问题分析 针对企业来说,提高工作效率是企业的一个重心;降低成本是企业赢取最大利益的重要方式;保证信息安全却是可能影响企业生死存亡的关键。企业需要对各种因素有足够深刻的认识才可能实现最终目标-盈利。而传统的文件资源交互方式却存在很多的问题,大致可以分为:一、不能有效地降低文件交互成本;二、文件交换过程过于繁琐;三、内部机密资料得不到安全保证;四

23、、文件交互的准确性得不到更本保证。 提出解决方案 解决当前问题的方案主要是指在允许的成本、性能要求下,分析系统实施的可行性,提出功能实现的依据,包括其简单性,安全性以及经济可行性。根据企业简单快速,安全的资源共享等要求,提出以下四种解决方案: 1)操作简单性方案:开发的系统需要有以下特点:Windows友好的用户界面和系统快速的应用方法,简单易操作,不需对使用人员进行培训,可以使用户很好的掌握。对传输文件过程中的文件的载入设置都是非常简单可行,比如:如果用户忘记选择文件接收者的时候系统会自动提示“请选择接收用户”要求用户选择主机而不导致错误出现而引发的不便,这样就大大提高工作效率。而且开发的系

24、统应该简单易操作,易维护,减少了不必要的麻烦。对于家庭局域网以及一些比较简单的中小企业网,系统必须做到在实际应用中较为成功。系统应为用户提供Windows所一贯坚持的非常友好、操作简单的用户界面。 2)传输安全性方案:系统开发完成后,能有效地使内部资源与外网的完全隔离,从而保证了内部机密文件的安全性。 3)经济可行性方案:系统开发完成必须作到提高文件共享效率,不管是在资金上还是效率上都能达到预期的效果的。最重要的一点就是:使用户避免花费高额的资金去购买各种移动磁盘甚至是通过Internet邮件方式,使得用户方便的同时,也让信息少走了不少“弯路”。 4)快速准确性方案:鉴于系统的目标要求和特点,

25、能够保证快速准确地实现文件共享。 综合上述,本设计在Windows XP操作系统下,以中文版Delphi7为开发工具,以C/S为系统功能结构,基于点对点的TCP/IP协议理论,通过Socket套节字连接客户端与服务器实现文件及文件夹传输。彻底避免了文件交换过程与外部网络的接触,实现快速的文件资源共享。并能够确保内部文件的机密性,能够在很大程度上有效地提高工作效率。系统设计 系统总体架构 本系统的设计过程主要分为两部分: 第一部分:系统界面的设计以及获取局域网内所有在线用户的主机名,IP地址以及工作组名。使网内所有用户都能够获取其他用户信息。 第二部分:文件传输是本设计功能实现的核心。系统采用C

26、/S架构将系统运行载体分为两个部分:客户端与服务器端。文件传输需要建立有效的连接后,通过TCP/IP协议实现点对点的文件传输。通信双方是通过三次握手建立Socket连接,实现文件传输,最后关闭套节字连接。文件传输的整个流程图如下:TCP/IP3次握手SOCKET流 三次握手图2 文件传输系统框架图 系统界面设计 界面设计 界面是系统功能得以实现的基本平台,这里充分利用Delphi可视化开发环境以各种组件设置。界面的设计可以分为五步: 1)创建一个工程,制作一个窗体form1; 2)在form1内加入用户列表userlist并设置列表项:用户名,工作组,IP地址以及它们的属性; 3)在form1

27、内加入Memo1; 4)在Memo1内加入各种DELPHI网络通讯控件,本系统用到的控件分别有: 用于传送文件是打开文件的控件OpenDialog1; 用于接收端保存文件的控件SaveDialog1; 用于点到点文件传输的客户端PClientConnected及服务器端PServerAfterCommandHandler; 用于广播主机信息的客户端ClientStatus和服务器端ServerStatus数据报组件; 用于设置退出系统和窗口前端显示的PopupMenu1菜单; 5)分别创建刷新按钮BitBtn1,文件传输BitBtn2以及文件夹传输BitBtn3按钮。 设置的界面如下图:图 3

28、 基于局域网的文件传输系统界面 用户信息 用户列表建立以后,将局域网内所有在线用户的主机名,主机IP地址以及工作组名显示于列表中。方法是首先确定用户主机是上线信息,返回信息,握手信息还是离线信息。这里对他们分别设置了一个信息发送的头信息,分别设置为:LOGIN,HAND以及LOGOUT。如果新用户上线,它就向局域网以LOGIN为头信息广播本机的主机名,IP地址以及工作组。局域网内所有在线主机收到该广播信息以后将新上线的主机名,端口,IP地址以及工作组信息添加到自己的在线用户列表并都以HAND为头信息向局域网广播本机的握手信息;当包括刚上线主机在内的局域网所有主机收到这个握手信息以后线判断自己的

29、在线用户列表中是否存在这个主机广播的主机信息,如果不存在就说明它是刚上线主机,最后将这个信息添加到自己在线列表,否则就不加;当用户下线的时候也将自己的信息以LOGOUT为头信息广播给局域网,其他在线用户收到这个消息以后将其主机信息从本地在线用户列表删除。其部分的源代码分别如下: 系统功能模块设计 获取用户信息 本部分主要是显示用户列表中在线用户的主机名,主机的IP地址以及工作组名三部分,代码分别进行介绍如下: 获取局域网内用户名的源代码如下: 获取局域网的用户IP地址以及添加用户信息的源代码如下: 获取局域网的工作组名的源代码如下: 局域网内文件传输 文件传输实现之前,需要获取在线用户列表中的

30、用户信息。所以系统设置一个“刷新”按钮,当用户点击 “刷新”后将更新界面的用户列表中所有在线用户 的主机名,主机IP地址和工作组名。并显示在线人数。源代码如下: 文件以及文件夹传输功能是本设计能够实现的理论核心。系统实现主要依靠发送端与接收端建立有效的连接后,客户端不断地向SOCKET写入文件流,服务器端不断接受来自客户端的SOCKET文件流。直到文件传输完毕关闭套节字连接并释放空间。文件传输的整个过程可以分别表示为:客户端和服务器端。 1)客户端连接并发送功能: 客户端点击文件发送按钮以后,系统首先判断是否选择文件接受者。如果没有选择就提示用户选择接收者。然后以组件opendialog1.E

31、xecute打开传输文件。建立文件流并执行TSendThread.Execute。在TSendThread.Execute中写入接收主机的IP及端口号。向服务器发送连接请求。连接成功后发送文件流。代码依次如下: 文件打开后客户端调用函数TSendThread.createThread建立文件传输流。此函数的源代码如下: 文件流建立后由inherited createfalse提示系统自动执行TSendThread.Execute函数发送文件。码如下: 文件传输完毕以后断开SOCKET连接并释放套节字空间。 2)服务器端响应功能: 当服务器收到来自客户端文件传输连接请求后,对其进行连接响应建立连

32、接。连接建立后得到文件的基本信息,进行自动初始化并分配临时空间。如果文件大小为OK就认为是文件传输完毕自动断开连接。否则接收文件开始。当传输完毕后断开连接。其源代码如下: 服务器端将收到的文件流重组以后通过Delphi组件SaveDialog设置保存路径并保存到本地文件夹,其源代码如下: 局域网内文件夹传输 在人们的日常生活中,很多时候不仅仅需要进行单个文件的共享,而是需要进成百上千个文件组成的文件夹的共享。但是用户不可能进行一次又一次的单文件的传送,不但浪费时间,而且很不值得。所以这个时候我们需要对整个文件夹都进行传输。这样就可以避免一个文件夹中的大量文件重复进行多次单文件的传输,很大程度上

33、减少了用户的工作量,从而有效地提高工作效率。其过程同样的分为服务器与客户口端两部分:首先是客户口端向服务器发送连接请求,服务器响应后建立连接实现文件传输。具体过程如下: 1)客户端请求建立连接并发送文件夹 用户选择文件夹接收者后点击“文件夹传输”按钮。如果用户忘记选择文件接收者,系统弹出提示框“请选择消息接收者”,然后打开本地文件路径,并将本地文件夹路径得出来。 文件夹选取以后调用tsendfilethread.createThreadtoip,dir建立文件夹传输流,其源代码如下: 文件夹传输流建立以后,由函数inherited createfalse提示立刻执行文件传输流函数TsendFi

34、lethread.Execute。此部分的主要功能是向套节字写入传输文件的目标IP地址等信息,如果连接成功,写入文件传输信息csocket.WriteLn'TRANSDIR'以及调用函数putdirFlocaldir写入文件流。其源代码分别如下: 客户口端文件夹传输完毕以后断开连接,释放套节字空间。 2)服务器端接收到文件夹传输请求以后,初始化分配临时空间,获取文件夹基本信息。以及设置存放路径。 文件夹接收完毕保存到本地路径,其源代码如下:系统实施及测试 实施概况 局域网内文件传输系统目前运行环境为:Windows操作系统。 文件传输系统在WINDOWS操作系统下,以C/S的模

35、式客户端主动向服务器端发送SOCKET套节字连接请求后,服务器收到连接请求后对其进行响应并初始化临时内存空间,建立连接。连接建立以后客户端不断地向SOCKET写入传输的文件流,服务器端接收文件流后重组文件并将文件保存到本地目录。文件传输完毕关闭套节字连接。本系统还实现文件夹的传输,能够同时对多个文件进行传输以实现文件夹的共享。 测试方案 局域网的文件传输系统既是服务器端,又是客户端。在Windows操作系统下,以局域网内任意两台主机之间发送文件及文件夹。测试过程中,两台测试主机同时运行设计软件。 一台主机作为发送方选择文件接收者,当用户选择文件接收者以后点击“文件传输”或者“文件夹传输”按钮后

36、在文件选择窗口载入需要发送的文件或文件夹,另外一台做为接收方的主机会自动弹出文件保存提示框,如果服务器方拒绝接受文件可以点击“取消”退出文件接收过程。否则用户选择文件保存路径后确认即可。系统的测试界面如下:图4 系统运行界面 本系统鉴于快速准确文件传输功能实现的同时,能够保证信息安全的保密性。 测试结果 本系统经多次测试,能在Windows操作系统正常运行。基本上实现了预期的功能,目前测试运行良好。本软件适用于任何家庭网以及中小企业单位等局域网内文件资源共享,属于一款比较实用的文件传输软件。由于时间仓促,一些技术和设备所限,本系统依然存在大量不足之处,有待进一步改进和完善,具体说来有: A.

37、如果系统运行环境WINDOWS系统装有防火墙有可能导致服务列表中工作组的显示出现问题。 B. 本系统不能够支持断点续传功能。 C.对窗体设计中有大量需要改进的地方。 D.代码不够精炼。 结 论 通过对局域网的文件传输系统研发,我充分的认识到了局域网内文件传输对企业安全,可靠,低成本资源共享的重要性。本系统能够自动获取局域网内在线用户主机名,IP地址,工作组名。能够对在线用户信息进行显示,实现点对点的文件以及文件夹传输。与传统的文件传输工具相比,本系统不需要连接远程服务器来进行文件转发,解决了传统文件传输比较烦琐的问题,同时也节省了网络开销,而且系统的运行与外网彻底隔离,资源的安全性也得到了极大的保证,达到快速安全的资源共享目的。 通过测试和试用,我发现该系统还存在以下的问题: 1、如果软件运行环境安装有防火墙,用户列表中工作组的显示可能会出现异常;2、整个系统功能不够全面,比如说不能实现文件的断点传输;3、操作界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论