1 / 15
文档名称:

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

格式:docx   大小:2,001KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:3346389411 2018/1/1 文件大小:1.95 MB

下载得到文件列表

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

文档介绍

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

最近更新

幼儿园教职工聘用劳动合同书(3篇) 9页

幼儿园毕业感言简短 3页

2024年事业单位招聘考试江西省南昌市职业能力.. 24页

2024年幼儿园教师辞职报告精选15篇 21页

幼儿教师工作自我评价范文(3篇) 6页

2024年幼儿园教师辞职信(优选15篇) 17页

庆元旦领导感人讲话稿范文(33篇) 54页

2024年事业单位招聘考试宁夏吴忠市职业能力倾.. 25页

建材销售合同优质5篇 11页

影响女性犯罪微观因素的实证分析的开题报告 2页

开学典礼家长代表讲话稿5篇 8页

2024年事业单位招聘考试湖南省株洲市职业能力.. 23页

家庭财产两全保险合同范文 1 8页

家庭装修电子合同 19页

2024年事业单位招聘考试河北省张家口市职业能.. 22页

总经理助理岗位职责优秀范文(32篇) 35页

形声字的对外汉字教学研究的开题报告 2页

2024年事业单位招聘考试广西省钦州市职业能力.. 22页

家庭教育宣传标语(95句)(推荐阅读) 4页

2024年事业单位招聘考试广西省北海市职业能力.. 22页

归脾汤加减治疗神经性皮炎(心脾两虚型)临床疗.. 2页

2024年事业单位招聘考试云南省红河哈尼族彝族.. 21页

大树的花衣裳中班美术教案 2页

电梯维保报价书 3页

棋牌室培训资料 20页

老年慢性阻塞性肺疾病呼吸衰竭患者经鼻气管插.. 5页

《博微电力工程经济评价软件使用手册》 38页

六合公式基本知识(荐) 3页

少先队植树造林歌 19页

基督徒得胜的秘诀 1页