MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。
MQTT特点
MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:
1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
2、对负载内容屏蔽的消息传输;
3、使用 TCP/IP 提供网络连接;
4、有三种消息发布服务质量:
“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
“至少一次”,确保消息到达,但消息重复可能会发生。
“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;
MQTT服务器有好多种
Apache-Apollo:一个代理服务器,在ActiveMQ基础上发展而来,可以支持STOMP、AMQP、MQTT、Openwire、SSL和WebSockets等多种协议,并且Apollo提供后台管理页面,方便开发者管理和调试。
EMQ:EMQ 2.0,号称百万级开源MQTT消息服务器,基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源MQTT消息服务器。
HiveMQ:一个企业级的MQTT代理,主要用于企业和新兴的机器到机器M2M通讯和内部传输,最大程度的满足可伸缩性、易管理和安全特性,提供免费的个人版。HiveMQ提供了开源的插件开发包。
Mosquitto:一款实现了消息推送协议MQTT v3.1的开源消息代理软件,提供轻量级的、支持可发布/可订阅的消息推送模式。
相关推荐
**MQTT介绍** MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,设计用于低带宽、高延迟或不可靠的网络环境。它最初由IBM和Oracle开发,如今广泛应用于物联网(IoT)、移动设备、智能...
提供的文档如“MQTT协议笔记.docx”、“MQTT协议.docx”、“MQTT介绍.docx”和“MQTT.docx”包含了MQTT协议的详细讲解,可以帮助初学者快速掌握其基本概念和工作原理。而“MQTT-SN_spec_v1.2.pdf”则专注于MQTT-SN...
**PHP MQTT介绍** PHP MQTT是基于PHP语言实现的MQTT客户端库,用于连接MQTT服务器,进行消息的发布和订阅。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输协议,常用于物联网、...
### MQTT协议概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种高效、简单且易于实现的轻量级消息传输协议。它最初由Andy Stanford-Clark(来自IBM公司)和Arlen Nipper(来自Arcom公司,...
#### MQTT介绍 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅模式的即时通讯协议,它基于TCP/IP协议族,设计用于低带宽、高延迟或不可靠的网络环境中。MQTT协议的主要特点包括: 1. **简单性...
九、MQTT 5.0 协议新增介绍 十、设计目标 十一、属性 十二、原因码 十三、实际应用 十四、MQTT 与 Kafka 十五、下一步 十六、参考信息 一、简介 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输...
**二、MQTTnet库介绍** 1. **功能特性**:MQTTnet提供了全面的MQTT客户端和服务端实现,支持.NET Framework和.NET Core,能够应用于Windows、Linux、macOS等多平台。 2. **客户端**:使用MQTTnet库,开发者可以...
将MQTT协议中的内容总结出来,用于做协议的分享交流所用。
第一章 - MQTT介绍 第二章 – MQTT控制报文格式 第三章 – MQTT控制报文 3.1 CONNECT – 连接服务端 3.2 CONNACK – 确认连接请求 3.3 PUBLISH – 发布消息 3.4 PUBACK –发布确认 3.5 PUBREC – 发布收到(QoS 2,...
这个压缩包“mqtt详细解读.zip”包含了一份名为“mqtt介绍.pdf”的文档,很显然,它将深入探讨MQTT的核心概念、工作原理以及在Java中的应用。 MQTT设计的目标是低带宽、低功耗和高可靠性,使其成为嵌入式设备和移动...
【 MQTT 介绍 】 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,设计思想是开放、简单、低开销、可靠,并且适用于受限环境,如移动设备或低带宽、高延迟的网络连接。MQTT广泛应用...
**MQTT(一)C#使用 MQTT...通过以上介绍,我们可以看到MQTT协议和MQTTnet库在C#中的应用,这对于构建基于物联网的解决方案至关重要。开发者可以利用这些工具轻松地实现设备间的通信,从而构建高效、可靠和灵活的系统。
1. **MQTT介绍**: MQTT是一种基于发布/订阅模式的协议,它建立在TCP/IP之上,由IBM在1999年提出。这种协议特别适合于物联网设备,因为它的设计目标是保持最小的开销和简单的实施。它通过发布消息到特定的主题,并...
1. **MQTT协议介绍** MQTT协议设计的目标是低带宽、低功耗、高可靠性的实时通信,采用发布/订阅模型,确保消息的一对多传递。它支持QoS(Quality of Service)级别,分别为QoS0、QoS1和QoS2,以满足不同场景下的...
总结一下,本篇文章介绍了如何在C#环境中利用MQTTnet库快速创建一个MQTT客户端,涉及的主要知识点有: 1. MQTT协议的基本概念及其在物联网中的应用。 2. 使用Visual Studio 2017创建C#控制台应用程序。 3. 安装和...
**MQTT介绍** MQTT(Message Queuing Telemetry Transport)是一种轻量级发布/订阅消息协议,特别适合于资源有限的设备和低带宽、高延迟或不稳定网络环境。在物联网场景中,MQTT被广泛用于设备与云端平台之间的数据...
**MQTT介绍** MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的发布订阅(Publish-Subscribe)消息传输协议,主要用于低带宽、高延迟或不可靠网络环境中的物联网(IoT)应用。MQTT...
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致...
【BCB6.0介绍】 BCB6.0,全称Borland C++ Builder 6.0,是由Embarcadero Technologies开发的一款集成开发环境(IDE),主要用于C++编程。它提供了可视化的组件库,便于开发者快速构建Windows应用程序。BCB6.0集成了...