MQTT,CoAP,,LWM2M,UDP,TCP各自特点,NB

Wesley13
• 阅读 571

UDP 用户数据报协议(UDP,User Datagram Protocol) 传输层协议

  1. 是无连接的,即发送数据之前不需要建立连接。
  2. 尽最大努力交付,即不保证可靠交付
  3. 传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。
  4. 支持一对一,一对多,多对一和多对多的交互通信。

TCP传输控制协议(TCP,Transmission Control Protocol) 传输层协议

  1. TCP面向连接(如打电话要先拨号建立连接)。
  2. 提供可靠的服务,
  3. 通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。传输效率相对较低。
  4. 连接只能是点到点、一对一的

CoAP 约束应用协议(CoAP The Constrained Application Protocol)应用层协议

  1. 基于REST架构的CoAP协议。
  2. 工作在 UDP协议族
  3. COAP是二进制格式的,
  4. HTTP是文本格式的,COAP比HTTP更加紧凑。
  5. 轻量化,COAP最小长度仅仅4B,一个HTTP的头都几十个B
  6. 支持可靠传输,数据重传,块传输。
  7. 确保数据可靠到达支持IP多播, 即可以同时向多个设备发送请求。
  8. 非长连接通信,适用于低功耗物联网场景。

MQTT 消息队列遥测传输(MQTT Message Queuing Telemetry Transport) 应用层协议

  1. 基于客户端-服务器的消息发布/订阅传输协议。
  2. 工作在 TCP/IP协议族
  3. MQTT协议是轻量、简单、开放和易于实现的
  4. 机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
  5. MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。

LwM2M 轻量级机器到机器 (Lightweight Machine-To-Machine)应用层协议

  1. 协议基于REST架构。
  2. 协议的消息传递是通过CoAP协议来达成的。
  3. 协议定义了一个紧凑高效又不乏扩展性的数据模型
  4. 协议最主要的实体包括LwM2M Server和LwM2M Client。 LwM2M Serve作为服务器,部署在M2M服务供应商处或网络服务供应商处。 LwM2M Client作为客户端,部署在各个LwM2M设备上。
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
QT TCP网络编程
首先介绍一下TCP:(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。相比而言UDP,就是开放式、无连接、不可靠的传输层通信协议。下面,我一次进行客户端和服务器端的QT实现。我的开发环境是:QTCreator5.7。!oneservertwo
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
TCP UDP有什么区别
前言计算机分层中的传输层,主要是负责计算机之间的数据传输,TCP和UDP都属于传输层协议。在实际开发过程中,需要根据实际需求的来选择适当的传输协议。在这里我们简单总结下TCP、UDP的特点和区别以及实际开发中如何选择。TCP和UDP的定义TCP是面向有连接,可靠的流协议。保证两端通讯主机之间
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
Java网络编程——12.UDP
前面几章讨论了在TCP传输层协议之上运行的网络应用程序,TCP是为数据的可靠传输而设计的。用户数据报协议(UserDatagramProtocal,UDP)是在IP之上发送数据的另一种传输层协议,速度很快,但不可靠。当发送UDP数据时,无法知道数据是否会到达,也不知道数据的各个部分是否会以发送时的顺序到达。1、UDP协议类似F
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这