MQTT协议使用总结( 二 )


  • 发布其他客户端可能会订阅的信息 。
  • 订阅其它客户端发布的消息 。
  • 退订或删除应用程序的消息 。
  • 断开与服务器连接 。
5.MQTT服务器MQTT服务器以称为“消息代理”(Broker) , 可以是一个应用程序或一台设备 。它是位于消息发布者和订阅者之间 , 它可以:
  • 接受来自客户的网络连接 。
  • 接受客户发布的应用信息 。
  • 处理来自客户端的订阅和退订请求 。
  • 向订阅的客户转发应用程序消息 。
6.MQTT协议中的订阅、主题、会话
  • 订阅(Subscription)
订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS) 。订阅会与一个会话(Session)关联 。一个会话可以包含多个订阅 。每一个会话中的每个订阅都有一个不同的主题筛选器 。
  • 会话(Session)
每个客户端与服务器建立连接后就是一个会话 , 客户端和服务器之间有状态交互 。会话存在于一个网络之间 , 也可能在客户端和服务器之间跨越多个连续的网络连接 。
  • 主题名(Topic Name)
连接到一个应用程序消息的标签 , 该标签与服务器的订阅相匹配 。服务器会将消息发送给订阅所匹配标签的每个客户端 。
  • 主题筛选器(Topic Filter)
一个对主题名通配符筛选器 , 在订阅表达式中使用 , 表示订阅所匹配到的多个主题 。
  • 负载(Payload)
消息订阅者所具体接收的内容 。
7、 MQTT协议中的方法MQTT协议中定义了一些方法(也被称为动作) ,  来于表示对确定资源所进行操作 。这个资源可以代表预先存在的数据或动态生成数据 , 这取决于服务器的实现 。通常来说 , 资源指服务器上的文件或输出 。
  • Connect:等待与服务器建立连接 。
  • Disconnect:等待MQTT客户端完成所做的工作 , 并与服务器断开TCP/IP会话 。
  • Subscribe:等待完成订阅 。
  • UnSubscribe:等待服务器取消客户端的一个或多个topics订阅 。
  • Publish:MQTT客户端发送消息请求 , 发送完成后返回应用程序线程 。
五.MQTT优缺点1.优点
  • 适用于受限网络的轻量级 。
  • 灵活选择具有给定功能的服务质量 。
  • 由OASIS技术委员会标准化 。
  • 实施简单快捷 。
  • 协议简洁轻巧 , 数据冗余量低 。并且支持的设备从智能硬件到智能手机无所不包 。
MQTT协议的优势是可以支持所有平台 , 它几乎可以把所有的联网物品和互联网连接起来 。特别适合于网络代价昂贵 , 带宽低、不可靠的环境 。能在处理器和内存资源有限的嵌入式设备中运行 。
2.缺点
  • 由于基于TCP的连接 , 功耗很高 。
  • 缺乏加密 。
  • 服务器端实现难度大 , 虽然已经有了C++版本的服务端组件 , 但是并不开源 , 而且在推送




推荐阅读