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 并 ...
 
随机推荐
- Week 1 工程表格
			
PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 6h30min Developme ...
 - 第十次Scrum  meeting
			
第十次Scrum meeting 任务及完成度: 成员 1.2 1.3 陈谋 任务1040:完成stackoverflow的数据处理后的json处理(100%) 任务1114-2:完成对pdf.pp ...
 - 《Linux内核分析》第六周学习笔记
			
<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
 - TCP系列11—重传—1、TCP重传概述
			
在最开始介绍TCP的时候,我们就介绍了TCP的三个特点,分别是面向连接.可靠.字节流式.前面内容我们已经介绍过了TCP的连接管理,接下来的这部分内容将会介绍与TCP可靠性强关联的TCP重传. 很多网络 ...
 - NODE中解决跨域请求的问题
			
1.Node Express 解决请求跨域请求 标签(空格分隔): 跨域 1是Access-Control-Allow-Origin 允许的域 2是Access-Control-Allow-Heade ...
 - Spring源码阅读学习一
			
昨天抽时间阅读Spring源码,先从spring 4.x的core包开始吧,除了core和util里,首当其冲的就是asm和cglib. 要实现两个类实例之间的字段的复制功能: 多年之前用C#,因为阅 ...
 - Javascript中实现继承的方式
			
js中实现继承和传统的面向对象语言中有所不同:传统的面向对象语言的继承由类来实现,而在js中,是通过构造原型来实现的,原型与如下几个术语有关: ①构造函数:在构造函数内部拥有一个prototype属性 ...
 - Jquery ajax $getScript()和$getJSON和JSONP
 - Node buffer模块缓冲区
			
//1:字节 byte//1024b = 1kb [千字节]//1024kb = 1mb [兆字节]//1024mb = 1gb [吉字节]//1024gb = 1tb [梯]//1024tb = 1 ...
 - Python模块笔记
			
__name__属性 一个模块被另一个程序第一次引入时,其主程序将运行.如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行. #!/ ...