网络文件传输系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络文件传输系统的设计与实现

作者

指导老师

摘要:在科学技术飞速发展的今天,Internet已经和人们的日常生活息息相关,无论是工作,学习还是娱乐,都离不开网络。比如有时候需要进行文件的传输,虽然现在的许多网络文件传输工具能基本满足人们对文件传输质量的要求,但是它们往往都存在安全性,工作效率低等问题。

本课程设计的文件传输系统是在Windows操作系统下,Visual C + + 6.0环境下借用WinSock控件实现的,是基于TCP/IP协议的C/S模式,在服务器和客户端分别以socket为中心进行编程,客户端和服务器端的界面分别是由文件发送模块和文件接收模块组成。客户端先调用connect()与服务器建立连接,然后用send()发送数据;服务器端先调用listen()侦听客户端的连接请求,然后调用accept()对连接请求进行响应,如果需要接收数据,则会调用receive()接收。

本文件传输系统成功的实现了服务器和客户端的文件传输,不论是较小范围内的局域网还是远程网,而且还可以传输多种格式的文件,如word,视频,图像等。相比其它文件传输工具而言,本系统有很多的优点。首先,界面简单,易于操作;其次,传输较大的文件时,不需要花费很长时间。

关键词:文件传输;WinSock ; socket编程; C/S结构

目录

1 绪论 (1)

1.1选题背景 (1)

1.2选题意义 (1)

2开发环境及相关技术简介 (2)

2.1开发环境Visual C++ 6.0介绍 (2)

2.2基于vc的socket网络编程的基本原理 (2)

2.2.1 socket的基本概念 (2)

2.2.2Winsock网络编程原理 (3)

2.3 TCP/IP协议简介 (3)

2.5 C/S结构 (4)

2.5.1 C/S结构的概念 (4)

2.5.2 C/S结构的工作模式 (4)

2.5.3 C/S结构的优点 (4)

3 网络文件传输系统的设计 (5)

3.1服务器端和客户端界面介绍 (5)

3.1.1服务器界面介绍 (5)

3.1.2客户端界面介绍 (6)

3.2服务器端,客户端程序分析 (6)

3.2.1服务器端分析 (6)

3.2.2客户端分析 (11)

4实现 (15)

4.1系统运行环境 (15)

4.2文件传输系统的测试 (15)

4.2.1实验一:局域网内文件传输 (15)

4.2.2实验二:远程网络上文件传输 (17)

4.2.3实验三:较大文件的传输 (18)

4.2.4实验四:不同格式文件的传输 (19)

4.3该文件传输系统的不足 (20)

5结论 (20)

致谢 (22)

参考文献 (23)

1 绪论

1.1选题背景

21世纪被称为信息时代,因为计算机技术的迅猛发展,给人们的日常生活以及工作,都带来翻天覆地的变化。其中尤以互联网最为显著,人们通过Internet 达到学习,娱乐,交流,工作等目的。通过internet获取更多,更及时有效的信息。特别是在工作或者学习上,需要经常进行文件传输,所以各种文件传输系统应运而生,比如邮件,各种聊天工具等。这些软件在使用上各有所长,各有特色。但是与此同时,这些文件传输工具自身的很多缺点以及局限性依然给文件的传输带来了很多的不便。首先,对远程服务器的依赖导致了有些文件传输工具不能完全实现点对点的文件传输,甚至对文件的安全造成了威胁;其次,这些传输工具只能传输体积较小的文件,如果传输的文件体积过大的话,会耗费很长的时间,进而导致资源的浪费,网络速度不理想的情况下可能会导致传输中断。最后,电子邮件传输文件存在实时性的缺陷,把邮件传到另一个服务器上的用户的前提是先把邮件信息存到本地服务器上,这中间可能经过其它若干服务器,因此很难实现用户对文件的实时传送的要求。因此,急需开发一个功能简单,易于操作,可移植的文件传输工具,并且该文件传输工具可以在Windows平台下运行。

1.2选题意义

通过对本次课题的研究,使我们更加清晰的了解到互联网技术的变革之快以及给我们的生活带来的巨大变化,更重要的是培养了我们科学的解决问题的能力,同时,使我们对文件传输系统的原理及设计有了正确的认识。文件传输系统是基于C/S模式的,以socket为中心实现服务器和客户端的通信。该系统结构简单,便于操作,且可以发送各种类型的文件,如word文档,图像,视频等。只需要输入服务器的ip地址或者主机名以及文件的保存路径,就可以发送文件。该文件传输系统给企业的文件的共享带来了很大的便捷。

我们大学学到的很多理论知识在这次文件传输系统的设计中得到了很好的体现,如tcp/ip协议,Visual C ++等。除此之外,还接触到了socket套接字,以

及对socket编程有了一定的了解。

2开发环境及相关技术简介

2.1开发环境Visual C++ 6.0介绍

Visual C ++是一个可视化的软件开发工具,且其功能非常强大。Visual C++主要由三个部分组成[1]。分别为:Developer Studio,MFC,Platform SDK。由于Visual C++其他版本存在局限性等问题,所以实际编程中更多的是以Visual C++6.0为平台。Visual C++6.0的组件包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。Developer Studio组件会把这些组件集成为一个和谐的开发环境。

Visual C++提供了基于CASE技术的可视化软件自动生成和维护工具Wizard Bar、Class Wizard、Visual Studio、AppWizard等,实现了直观、可视的程序设计风格[2],除此之外,Visual C++还封装了Windows的API函数、GDI、KERNEL、USER函数,使得原本编程时创建、维护窗口的许多复杂的工作变得更为简单。

Visual C++应用程序的开发有两种模式[2],WIN API和MFC。WIN API 开发方式较为繁琐,而对于MFC而言,首先,MFC则是对WIN API的再次封装;其次,MFC减少了大量冗余代码的编写以及定义消息处理所需的繁杂的代码段。所以MFC相对来说会给程序的编写带来很多方便。本课程设计就是在MFC中完成的。

2.2基于vc的socket网络编程的基本原理

2.2.1 socket的基本概念

套接字(socket)是一种网络编程接口[4],实际上就是一个通信端点,提供了发送和接收数据的机制。而Winsock是基于Windows操作系统下的网络编程接口,也就是基于Socket 模型的API 。而最简单的一对一的CS结构的通信程序,就只有两个端点,即两个套接字(Socket),一个在Server端,另一个在Client 端,这两个套接字就在CS间建立了双向数据传送的连接。每个套接字都有一个套接字地址,通常是IP和端口的组合。

相关文档
最新文档