MQTT

参考

1. 为何使用MQTT协议

  • 协议包含语法、语义、语序。
  • 基本上互联网上的各类应用协议都是基于TCP/IP协议,但根据不一样的应用业务/场景需求,产生了众多应用层协议。
    • XMPP协议的目的是双向实时的通讯,所以要定义心跳包、房间等众多概念及相应的交互过程
    • HTTP协议的目的是网页浏览和交互,一般是1对一、单向、同步、网络相对稳定,业务复杂所以头部复杂(Method、缓存、认证什么乱七八糟的)
  • 对于物联网领域来讲,一般网络不稳定、流量少、有广播消息的场景,这些都是常见的HTTP协议不具有的特性,所以:
    • MQTT协议的目的是支持广播、心跳包、轻量级、异步、支持双向等。

2. 服务端-mosquitto

3. 服务端-Apache Apollo

  • 官网
  • 也是一个message broker,支持包含MQTT在内的众多协议,有web页面
  • 安装MQTT服务器(Windows),并链接测试
  • 使用
    • 下载解压
    • 根目录cmd执行命令apollo.cmd create xxx,建立目录(xxx为Virtual Host名称,算是最大的一个管理单位
    • 进入xxx/bin目录,执行命令apollo-brokder.cmd run,启动服务,便可浏览器访问https://127.0.0.1:61681/或http://127.0.0.1:61680/,默认帐号密码就是admin和password
    • 可在apollo.xml配置文件中修改端口(注意让别人访问须要新建打开防火墙规则)、帐号、密码,也能够在管理界面直接改

4. 客户端-MQTT.fx

5. 客户端-通讯猫调试软件

6. 功能

  • 客户端能够publish消息到某个topic也能够subscribe某个topic,也能够建立topic(向一个不存在topic发送一次消息,不知道是否是后台帮忙作的建立动做?)
  • 服务端/broker能够建立topic、queue,能够查看消息量,能够查看有哪些消费者
  • 每一个消息均可以选择不一样的QoS
相关文章
相关标签/搜索