科信学院
通信软件设计项目(二级项目)
设计说明书
(2014/2015学年第一学期)
题目: 文件传输软件
专业班级: 通信工程11级1班
学生姓名: 刘伟张畅
学号: 110312108 110312109
指导教师: 陈湘国、张龙、任丹萍
设计周数: 1周
设计成绩:
2015年1月7日
目录
1课程设计要求与任务 2
2
2
3
课程设计项目分析 3
软件背景 3
软件原理 3
TCP/IP网络体系结构 3
(Sockets) 5
传输原理 6
Socket编程 7
课程设计项目设计 7
总体设计 7
界面设计 9
3课程设计问题分析 9
通信的模式 9
传输的可靠性 9
4课程设计总结 10
5参考文献 10
1课程设计要求与任务
要求软件能够方便地实现局域网中主机之间的文件传输。为了可靠传送文件,建议使用TCP提供的服务器。可以考虑采用C/S架构,可以采用Pull方式(客户端主动获取文件,服务器端被动地提供文件),也可以采用Push方式(客户端主动发送文件,服务器端被动地接收文件)。也可以采用P2P架构(稍微复杂,但更好用),例如使用UDP方式在对等方之间传递文本消息以及用于发起文件传输的控制信息,实际进行文件传输时仍通过TCP连接进行。基本设计思路是先建立TCP连接,连接成功后,发送文件的一方从文件流读取数据,写入网络流,接收方读取网络流,写入文件流,完成后断开TCP连接,释放相关的资源。
1、深入理解TCP的工作原理和服务的特性,掌握TCP套接字编程机制和方法;
2、理解C/S架构,理解Pull和Push两种文件传输模式;
3、深入分析文件发送方和接收方的程序运行流程,绘制程序流程图;
4、学习使用OpenFileDialog、SaveFileDialog、FileStream;
5、完成服务器端软件和客户端软件的开发和测试;
6、按照格式要求撰写设计报告。
课程设计项目分析
软件背景
随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。很多情况下,人们的日常工作需要借助文件传输来完成。上的服务器才能实现。这就给那些具有大规模内部网络的用户造成了许多问题,如浪费资金、浪费网络资源、病毒入侵、降低了工作效率等。为了方便局域网内主机的资源共享,需要开发一个基于局域网的文件传输工具,在内部网络中实现文件交换。
则可以大大方便局域网内主机的资源共享。
软件原理
基于局域网的文件传输系统的设计选用Virtual Studio 2005 为开发工具,基于TCP/IP的协议,用套接字来实现文件的传输。以TCP服务器模式通过建立Socket连接后实现局域网快速,准确,安全的点对点文件以及文件夹传输功能。
TCP/IP网络体系结构
TCP/IP协议采用层次体系结构,如图2-1所示,从图中可以看出,每一层在逻辑上都与通信端的对应层相连接。图中所示的服务器程序持续监听通信客户端;客户端仅周期性地与服务器相连接以交换数据,其中TCP协议层提供相当于OSI参考模型中传输层的服务,为收、发端应用程序提供通信;IP协议层负责提供统一的数据报;链路层主要功能是收、发IP层的IP数据报;TCP/IP之上是该协议提供的各种服务,而底层网络可以是不同的物理网络,、Token Ring、。
图2-1 TCP/IP协议层模型(LAN)
针对于所要求设计的软件最终目的:实现局域网中主机之间的文件传输这一功能,考虑到可靠的传送文件,我们选择使用TCP提供的服务器。
对于TCP传输协议及其工作原理,叙述如下:
TCP,传输控制协议(Transport Control Protocol),是一种面向连接的、可靠的传输层协议。
面向连接指其一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。
可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。
TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性,并提供拥塞控制机制,当网络拥塞时,源抑制其传输速率。要通过TCP传输数据,必须在两端主机之间建立连接。TCP连接建立过程如图2-2所示。
图2-2 TCP连接建立过
文件传输软件. 来自淘豆网m.daumloan.com转载请标明出处.