MQTT协议(Message Queuing Telemtry Transport),又称消息队列遥测传输协议,是一种基于发布/订阅模式的“轻量级”通讯协议,它是构建与Tcp/IP协议上,1999年发布的通讯协议。MQTT的优点在于,可以以很少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低能耗、低带宽占用的实时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT服务器(消息代理),常见的mqtt服务器并不是宏观的机房里一堆柜子,而是基于Erlang/OTP平台开发的一个软件,然后有电脑等等设备运行这个软件。直观的理解成运行了 MQTT 消息服务器软件的一台服务器或一个服务器集群。
主要的功能是:
(1)接受来自客户端的网络连接
(2)接受客户端发布的信息
(3)处理来自客户端的订阅和退订的请求
(4)向订阅的客户转发应用程序的消息。
MQTT协议网络传输
MQTT会构建底层网络传输,它将建立的客户端和服务器连接,,提供应该有序的,无损的,基于字节流的双向传输发送数据的时候,MQTT会把与之相关的服务质量(Qos)和主题名(Topic)关联。
(1)协议原理
MQTT协议通讯过程,需要客户端和服务器共同完成,一共有三个身份,发布者(Publish),代理(Broker)、订阅者(Subscribe)&#x