数据传输的实现火焰报警信息传递PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. TCP作为IP数据报来传输,而IP数据报的到达可能失序, 因此TCP报文段的到达也可能失序。如果必要,TCP将对收到的数据 进行排序,将收到的数据以正确的顺序交给应用层。
既然IP数据报会发生重复,TCP连接端必须丢弃重复的数据。 TCP还能提供流量控制,TCP连接的每一方都有固定大小的缓冲 空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。 这将防止较快主机致使较慢主机的缓冲区溢出。
1. TCP协议简介
【知识准备】
9)6个标志位中的多个可同时设置为1 URG-紧急指针有效 ACK-确认序号有效 PSH-接收方应尽快将这个报文段交给应用层 RST-重建连接 SYN-同步序号用来发起一个连接 FIN-发送端完成发送任务 10)TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小 为字节数,起始于确认序号字段指明的值,这个值是接收端期望接收的字节数。 窗口大小是一个16位的字段,因而窗口大小最大为65535字节。 11)检验和覆盖整个TCP报文端:TCP首部和TCP数据。这是一个强制性的 字段,一定是由发送端计算和存储,并由接收端进行验证。TCP检验和的计算和 UDP首部检验和的计算一样,也使用伪首部。
1. TCP协议简介
【知识准备】
(1)TCP 通过以下方式提供可靠性: 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的 信息单位叫做报文段。 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收 到这个报文段。如果不能即时收到一个确认,它就重发这个报文段。 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个 确认不是立即发送,通常延迟几分之一秒。 TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目 的是检测数据在传输过程中的任何变化如果收到报文段的检验和有差 错,TCP将丢弃这个报文段和不确认收到这个报文段。
1. TCP协议简介
【知识准备】
4位数据偏移:指出TCP报文段的数据起始处距离TCP报文段的起始 处有多远,整个字段实际上指明了TCP报文段的首部长度。
保留(6位):为了将来定义新的用途而保留的位,但目前应置为0。 1)每个TCP段都包括源端和目的端的端口号,用于寻找发送端和接收 端的应用进程。这两个值加上IP首部的源端IP地址和目的端IP地址唯一确 定一个TCP连接。 2)序号用来标识从TCP发送端向接收端发送的数据字节流,它表示在 这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的 单向流动,则TCP用序号对每个字节进行计数。 3)当建立一个新连接时,SYN标志变1。序号字段包含由这个主机选 择的该连接的初始序号ISN,该主机要发送数据的第一个字节的序号为这 个ISN加1,因为SYN标志使用了一个序号。
【任务目标】
1. 理解TCP原理 2. 掌握Android Socket编程 3. 掌握Android中JSON的解析方法
【任务目标】
1.运行Android客户端,界面效果显示如下。实时读取火 焰传感器的值,若发生火情,将火情信息发送到服务器端。
【任务目标】
2.创建一个.net程序,实现服务器端,运行之后显示效果如下, 等待客户端连接,若客户端读取到发生火情,则将火焰信息传递服 务器端并推送到LED屏中显示
Android物联网应用程序开发
目录 任务目标
知识准备
任务实现
项目目标
项目8 数据传输的实现
任务1 火焰报警信息传递
Android开发中最重要的组成部分就是通过网络与服务 器端的交互操作,以获取数据。在Android中提供了丰 富的网络连接功能,本书在本章介绍了Android中基本 的网连接并结合实例实现与服务器端的连接与数据的传递。
6)TCP为应用层提供全双工的服务。因此,连接的每一端必须保持每 个方向上的传输数据序号。
7)TCP可以表述为一个没有选择确认或否认的滑动窗口协议。因此 TCP首部中的确认序号表示发送方已成功收到字节,但还不包含确认序号 所指的字节。当前还无法对数据流中选定的部分进行确认。
8)首部长度需要设置,因为任选字段的长度是可变的。TCP首部最多 60个字节。
1. TCP协议简介
【知识准备】
4)每个被传输的字节都被计数,确认序号包含发送确认的一端所期望 收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号 加1。只有ACK标志为1时确认序号字段才有效。
5)发送ACK无需任何代价,因为32位的确认序号字段和ACK标志一样, 总是TCP首部的一部分。因此一旦一个连接建立起来,这个字段总是被设 置,ACK标志也总是被设置为1。
1. TCP协议简介
【知识准备】
TCP数据被封装在一个IP数据报中,格式如下: TCP首部格式如下:
IP首部20 TCP首部20 TCP首部格式如下:
TCP首部
1. TCP协议简介
【知识准备】
(2)TCP 首部 各个字段的含义如下:
32位端口号:源端口和目的端口各占16位,2的16次方等于65536, 看端口命令:netstat。
16位源端口号:源端口号是指发送数据的源主机的端口号,16位的源 端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返 回地址。
16位目的端口号:目的端口号是指接收数据的目的主机的端口号,16 位的目的端口域定义传输的目的地。这个端口指明报文接收计算机上的应 用程序地址端口。
32位序号:也称为顺序号(Sequence Number),简称为SEQ), TCP是 面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序 编号。整个要传送的字节流的起始序号必须在连接建立时设置。首部中的 序号字段值则指的是本报文段所发送的数据的第一个字节的序号。
1. TCP简介
【知识准备】
TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段 进行的,主机交换数据必须建立一个会话。它用比特流通信,即数 据作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以 获得可靠性。TCP是使用IP的网间互联功能而提供可靠的数据传输, IP不停的把报文放到网络上,而TCP是负责确信报文到达。在协同 IP的操作中TCP负责:握手过程、报文管理、流量控制、错误检测 和处理(控制)。