协议说明书:https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/04-OperationalBehavior.html

官网提供了很多的broker模拟器,地址:https://github.com/mqtt/mqtt.github.io/wiki/servers

  Bevywise MQTTRoute - 20181026测试发现MQTT包有问题(表示包长的字段有误)

    bevywise broker模拟器说明书:https://www.bevywise.com/iot-simulator/help-document/

  Mosquitto - 挺好的一个broker

MQTT嵌入式版本:https://github.com/eclipse/paho.mqtt.embedded-c

MQTT使用例子:http://www.stmcu.org/module/forum/thread-613083-1-7.html

MQTT表示报文长度的字段是可变的,从一个字节到四个字节,举例如下:

/*高位在后*/
//32: 50
//80 01: 128
//81 01: 129
//80 80 01: 16384
//81 80 01: 16385

清理会话标志设置为1的客户端不会收到旧的应用消息,而且在每次连接成功后都需要重新订阅任何相关的主题。清理会话标志设置为0的客户端会收到所有在它连接断开期间发布的QoS 1和QoS 2级别的消息。因此,要确保不丢失连接断开期间的消息,需要使用QoS 1或 QoS 2级别,同时将清理会话标志设置为0。清理会话标志0的客户端连接时,它请求服务端在连接断开后保留它的MQTT会话状态。如果打算在之后的某个时间点重连到这个服务端,客户端连接应该只使用清理会话标志0。当客户端决定之后不再使用这个会话时,应该将清理会话标志设置为1最后再连接一次,然后断开连接。

MQTT服务器允许匿名:client连接时可以不填用户名密码,也可以随意填一个用户名密码。

subscribe中的packageID(报文标识符)字段发送给服务器,服务器发送subACK也会包含同样的packageID,用于这两个包的关联

MQTT borker 及 client:emqttd

emqttd 如果emqttd start启动不了(长时间没返回),可以先emqttd stop。

emqttd:如果有两个相同client ID先后连接到服务器,emqttd会断开第一个client,让第二个client正常连接上。

emqttd的 MQTT client测试工具,连接 MQTT borker 的 port 要用8083,用1883反而不行,如下图:

MQTT client:mqtt.fx

下载地址:

http://www.jensd.de/apps/mqttfx

http://mqttfx.jensd.de/index.php/download

最新文章

  1. Ubuntu杂记——链接ln的使用:创建和删除符号链接
  2. 【bzoj4517】 Sdoi2016—排列计数
  3. POJ 2402 Palindrome Numbers
  4. 2016 - 1- 24 大文件下载 关于NSOutStream 的使用补充
  5. Error : Must specify a primary resource (JAR or python or R file)
  6. 启用 mvc webapi 的 session功能可用
  7. USB Device Finder
  8. iOS ARC下dealloc过程及.cxx_destruct的探究
  9. Response乱码的解决方法
  10. NSRunLoop 详解
  11. Java它配备了一个很好的工具2
  12. JavaScript OOP(三):prototype原型对象(即构造函数的prototype属性)
  13. Activity的task任务栈
  14. c# .Net随机生成字符串代码
  15. ASP.Net Core 2.2 MVC入门到基本使用系列 (四)(转)
  16. 20155306 白皎 0day漏洞——漏洞利用原理之栈溢出利用
  17. win10下docker安装和配置镜像仓库
  18. 使用ASP.NET MVC+Entity Framework快速搭建系统
  19. VC6 下 libpng 库的编译与初步使用
  20. 通过配置CPU参数 worker_cpu_affinity 提升nginx性能

热门文章

  1. 关键字搜索:jQuery过滤器插件fastLiveFilter||显示结果条数
  2. JS 实现计算一段文字中的字节数,字母数,数字数,行数,汉字数。
  3. Daily Scrumming* 2015.12.20(Day 12)
  4. [Intellij IDEA]_eclipse项目导入
  5. java — 静态绑定和动态绑定
  6. 【转】进程同步之信号量机制(pv操作)及三个经典同步问题
  7. shell脚本--文件测试
  8. HDU 2012 素数判定
  9. jstack 使用一例
  10. VC6到VC2010,项目迁移错误