MQTT 及其 测试工具
协议说明书: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
MQTT 及其 测试工具的更多相关文章
- MQTT压力测试工具之JMeter插件教程
基于Jmeter的MQTT测试插件-上 1. Jmeter插件简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.下载 用于对软件做压力测试,它最初被设计用于Web应用 ...
- 【嵌入式硬件Esp32】MQTT链接测试工具
1.Eclipse Paho MQTT Utility GUI测试工具 下载地址: 链接:https://pan.baidu.com/s/1ivxk3DWJkod-jBsowlcoBA 提取码:0lp ...
- mqtt服务器apollo的搭建和测试工具paho的使用
(1)前言 MQTT协议是IBM开发的一个即时通讯协议; 基于发布/订阅的消息协议,近些年来被广泛应用于能源.电力.....等硬件性能低下的远程设备,此外国内很多企业使用MQTT作为android手机 ...
- 转: Tsung:开源多协议分布式负载&压力测试工具
Main features High Performance: the load can be distributed on a cluster of client machines Multi-pr ...
- ActiveMQ测试工具
1. 测试工具 目前使用两种测试工具进行压力测试 1. Jmeter 测试单客户端收发多主题,测试高并发,大数据量时的接收效率 2. emqtt_benchmark测试多客户端收发主题,测试高吞吐量下 ...
- 九款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- linux压力测试工具stress
最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...
- [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具
==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...
随机推荐
- 《Linux内核分析》 期中总结
Linux内核分析 期中总结 20135307 张嘉琪 一.Linux内核分析课程总结 学习笔记汇总 第一节 计算机是如何工作的 第二节 操作系统是如何工作的 第三节 构造一个简单的Linux系统Me ...
- java感想
Java学起来很有趣,通过学习Java可以提高自己的逻辑能力.在学习Java期间我们做了一些程序,我们班的同学也都积极准备,完成的还不错!在做程序时,我遇到了一些难题,有时也会出现错误,时间长了弄得我 ...
- 201306114357-实验3-C语言
#include<stdio.h>#include <stdlib.h>#include <time.h>main(){ int a,b,c,n,u,i,sum; ...
- JAVA中方法和变量在继承中的覆盖和隐藏
出处:http://renyanwei.iteye.com/blog/258304 我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际 ...
- 11-Python3从入门到实战—基础之生成器和迭代器
Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...
- 关于EA和ED的区别
在申请美国大学本科的过程中,申请的截止时间往往分为两轮:提前申请(Early Decision/Action) 和常规申请 (Regular Decision).提前申请,顾名思义,截止时间会相对早一 ...
- JavaScript代码-----位置决定结果
刚学JavaScript的时候,即使照着书上的代码敲一遍,运行的时候,得到的结果要么总是和书上的结果不同,要么是没产生效果.学到后面,才明白到其实程序的代码是没错的,错误的是代码的位置! 首先看下面这 ...
- 使用docker-compose 大杀器来部署服务
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- LY tomcat 的闪退问题
http://www.cnblogs.com/1693977889zz/archive/2018/04/06/8726920.html 在bin文件夹里打开此文件setclasspath.bat 举例 ...
- React onWheel
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...