-
MQTT入门
收藏MQTT相关的技术教程
最近更新文章
MQTT入门(10)- MQTT与WebSocket
基于浏览器的Web应用,一般都是通过JavaScript来和服务器进行交互,这时可以采用基于WebSocket的MQTT。大部分Broker都支持MQTT over WebSocket。这样做的好处在于可以很好的利用浏览器的WebSocket,而服务端无需在开放80/443以外的端口。
MQTT本省和WebSocket没有什么关系,但是Broker可以处理WebSocket里的MQTT包。
设 ...
MQTT入门(9)- 连接和会话
(1)Connection
连接指的是client和broker之间,client和client之间不能直接连接。client和broker之间建立连接,必须先发送一个 CONNECT 消息,并附带上必要的认 ...
MQTT入门(8)- 保留消息和最后遗嘱
(1)保留消息Retained Messages
MQTT中,无论是发布还是订阅都不会有任何触发事件。
1个Topic只有唯一的retain消息,Broker会保存每个Topic的最后一条retain消息。
每个Client订阅Topic后会立即读取到retain消息,不必要等待发送。
订阅Topic时可以使用通配符,就会收到匹配的每个Topic的retain消息。
发布消息时把retain设 ...
MQTT入门(7)- 服务质量QoS
为了确保客户端和服务器端之间消息的送达,MQTT支持三种消息发布服务质量(QoS:Quality of Service):
(1)QoS 0(At most once)“至多一次”
消息发布完全依赖 ...
MQTT入门(6)- 主题Topics
MQTT是基于topic来发布消息的,发布者在发布消息时需要指定该消息发布在哪个topic下。
topic最容易的理解方式是文件夹路径。如果有成千上万的不同类型的文件要保存,为了合理放置这些文件,需要创建一系列有层次性的文件夹来管理它们。发布消息就好比把文件保存到不同的文件夹下。
和文件夹类似,topic有主题级别,各级别之间是以斜杠(/)来分隔的。
比如: rensanning/home/ro ...
MQTT入门(5)- 服务器Servers/Brokers
虽然有免费的公开Broker服务可以使用,当初步理解了MQTT协议之后,就有必要自己动手搭建一台Broker了。这样才能更深入的学习MQTT的更多内容。开源的Broker有很多,目前主流的Broker有以下3个:
Mosquitto:https://mosquitto.org/
VerneMQ:https://vernemq.com/
EMQTT:http://emqtt.io/
其他更多的 ...
MQTT入门(4)- 客户端工具
(1)开发包Library
Eclipse Paho 提供了各种开发语言使用的开发SDK,比如:
Python:https://github.com/eclipse/paho.mqtt.python
JavaScript:https://github.com/eclipse/paho.mqtt.javascript
Java:https://github.com/eclipse/paho.mqtt ...
MQTT入门(3)- 分析报文Packet
既然MQTT是一个通信协议,就有必要看看在通信时的packet报文信息,有助于对协议自身的理解。
MQTT是一个二进制协议,所以报文中的数据都是字节码而 ...
MQTT入门(2)- 公开的服务Broker
使用MQTT,前提是需要一个服务器Server/Broker,除了自己搭建服务,刚开始时可以使用第三方提供的在线公开的免费Broker服务。使用这些免费Broker服务,可以在刚开始时快速理解MQTT协议。
其他:https://github.com/mqtt/mqtt.github.io/wiki/public_brokers
这些Broker/Server已经搭建好了,只需要编写Clien ...
MQTT入门(1)- 简要介绍
MQTT(MQ Telemetry Transport)消息队列遥测传输协议
是TCP / IP协议之上,基于发布Publish/订阅Subscribe模式,机器到机器(M2M)通信,二进制传输的轻量级消息协议。1999年IBM开发,2010年对外免费开放,2014年正式成为OASIS的官方标准。
虽然名称里有MQ,但它不是Message Queue,它并不会保证消息的顺序。
和 Rabbit ...