下载此文档

基于TCP协议的文件传输的应用设计.docx


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
基于TCP协议的文件传输的应用设计.docx嵌入式系统及应用基于TCP协议的文件传输的应用设计院系: 电子信息学院姓名学号: 日期:2016年1月1日摘要:本文研究了网络环境下基于TCP的文件传输的方法,在Linux环境下运用套接字和TCP协议实现了文件的传输,从客户端向已知IP地址的服务器端发送文件,每次传输为1Kbyte且传输过程中发送端和接收端需要通过相互协作来控制数据的传输,而不能简单地利用循环。关键词:TCP协议;Linux;文件传输一、 引言TCP/IP(TransmissionControlProtocol/IntemetProtocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WAN)设计的。网的研究机构发展起來的。有时我们将TCP/IP描述为互联网协议集"ProtocolSuite^TCP和IP是其屮的两个协议(后而将会介绍)。由于TCP和IP是大家熟悉的协议,以至于用TCP/IP或IP/TCP这个词代替了整个协议集。这尽管有点奇怪,但没有必要去争论这个****惯。例如,有时我们讨论NFS是基于TCP/IP时,尽管它根本没用到TCP(只用到IP和另一种交互式协议UDP,而不是TCP)oTCP/IP的标准在一系列称为RFC的文档屮公布。文档由技术专家、特别工作组、或RFC编辑修订。公布一个文档时,该文档被赋予一个RFC编号,如RFC959(FTP的说明文档)、RFC793(TCP的说明文档)、RFC791(IP的说明文档)等。最初的RFC—直保留而从来不会被更新,如果修改了该文档,则该文档又以一个新号码公布。因此,重要的是要确认你拥有了关于某个专题的最新RFC文档。通常在RFC的开头部分,有相关RFC的更新(update)>修改(errata)>作废(obsolete)信息,提示读者信息的时效性二、 TCP简介及连接原理TCP(TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,rtlIETF的RFC793定义。本文主耍时结合TCP传输文件的高效性,通过套接字,实现在linux系统下传输文件,其中包括服务端和客户端,做到实时显示传输进度、传输文件大小等功能。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议來完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。TCP的上一层是应用层,TCP向应用层提供服务,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。应用程序通过编程调用TCP并使用TCP服务,提供需要准备发送的数据,用來区分接收数据应用的目的地址和端口号。通常应用程序通过打开一个socket來使用TCP服务,TCP管理到其他socket的数据传递。TCP对话通过3次握手来初始化,是数据段的发送和接收同步,确定其一次可接收的数据量,并建立虚连接。下面描述了3次握手的简单过程。A-B:主机A向主机B发送连接请求,报文中包括SYN控制标志,但没有数据。主机B收到SYN后,将其状态转化为SYN-RECEIVEDoB-A:主机B向主机A发送建立连接请求,并带有对主机A的SYN确认。主机A收到该消息后,将其状态变为ESTABLISHEDoA・B:主机B收到主机A发来的确认消息后,也将其自身状态转变为ESTABLISHEDo至此,一条TCP连接建立完毕,接下来就可在两台主机间传输数据了。三、socket简介Socket接口是TCP/IP网络的API,其定义了很多函数和例程,程序员可以用他们来开发TCP/IP网络上的应用程序。±的TCP/IP网络编程,必须理解socket接口。在linux系统中,所有的I/O操作都是通过读写文件的描述符而产生的,socket是一种特殊的文件描述符。当得到一个socket之后,就可以用send()和recv()系统调用与其他程序通信。当然也可以使用read()和write。等系统操作调用而与其他程序进行通信。四、典型TCP通信过程服务器五、服务端与客户端简介服务端:主要功能是监听客户端的连接,在有客户端请求连接的吋候接受或者拒绝连接。接收客户端的连接后,接收客户端发來的数据,接收的数据分为指令和数据,根据対应的指令执行不同的操作,比如接收连接请求或者拒绝请求、完成传输、断开连接等。服务端程序先建立一个socket,然后绑定端口号、地址等,然后开始监听。当有客户端连接时,同意连接请求,并接收客户端发来的数据,然后根据数据执行相对应的动作,接收到文件名后把文件名保存在文件名缓存中,并以此文件名建立文件。服务端接收到的文件都保存在./recv文件夹中,如

基于TCP协议的文件传输的应用设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sssmppp
  • 文件大小295 KB
  • 时间2020-01-04