emqtt java_mqtt压力测试工具emqtt-Go语言中文社区
1.emqtt下载地址:http://emqtt.com/downloads,找到自己要下载的版本信息,注意开发版、稳定版;
2.下载后放到硬盘根目录,进入下载路径目录,cmd进入dos窗口,如下图:
3.输入.binemqttd consloe,之后弹出启动状态页面,代表启动成功;
用户名为:admin 密码为:public
登录上去就可以看服务器的运行状态了。
测试
依赖
org.eclipse.paho
org.eclipse.paho.client.mqttv3
1.0.2
Server
package com.mymqtt.myemqtt;
import java.util.Scanner;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttMessage;
public class Server {
public static void main(String[] args) throws Exception {
String host = "tcp://127.0.0.1:1883";
String topic = "hello";
String clientId = "server";// clientId不能重复
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
MqttClient client = new MqttClient(host, clientId);
client.connect(options);
MqttMessage message = new MqttMessage();
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要发送的内容:");
while (true) {
String line = scanner.nextLine();
message.setPayload(line.getBytes());
client.publish(topic, message);
}
}
}
Client
package com.mymqtt.myemqtt;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
public class Client {
public static void main(String[] args) throws Exception {
String host = "tcp://127.0.0.1:1883";
String topic = "hello";
String clientId = "12345";// clientId不能重复
// 1.设置mqtt连接属性
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
// 2.实例化mqtt客户端
MqttClient client = new MqttClient(host, clientId);
// 3.连接
client.connect(options);
client.setCallback(new PushCallback());
while (true) {
client.subscribe(topic, 2);
}
// client.disconnect();
}
}
PushCallback
package com.mymqtt.myemqtt;
import java.util.Date;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PushCallback implements MqttCallback {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
public void connectionLost(Throwable cause) {
// 连接丢失后,一般在这里面进行重连
System.out.println("连接断开,可以做重连");
logger.info("掉线时间:{}", new Date());
}
public void deliveryComplete(IMqttDeliveryToken token) {
System.out.println("deliveryComplete---------" + token.isComplete());
}
public void messageArrived(String topic, MqttMessage message) throws Exception {
// subscribe后得到的消息会执行到这里面
// System.out.println(message);
System.out.println("接收消息主题 : " + topic);
System.out.println("接收消息Qos : " + message.getQos());
System.out.println("接收消息内容 : " + new String(message.getPayload()));
}
}
结果:
控制台显示
两个连接
emqtt java_mqtt压力测试工具emqtt-Go语言中文社区相关推荐
- linux wifi管理工具下载,(Linux无线网卡WIFI上网 二 )WPA_SUPPLICANT——Linux下的wifi管理工具移植-Go语言中文社区...
导航 概述 wpa_supplicant是一个连接.配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli和wpa_passphrase三个程序. 可以通过wpa_cli来进行WI ...
- [原创]Tsung压力测试工具简介及安装
[原创]Tsung压力测试工具简介及安装 一 Tsung压力测试工具简介 一个开源的多协议分布式负载测试工具,使用erlang语言开发的.它能用来压力测试HTTP, WebDAV, SOAP, Pos ...
- Jmeter:图形界面压力测试工具
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- 容器单机编排工具 Docker Compose,swap 限制,配置默认的CFS调度程序,Stress-ng 压力测试工具,docker官网镜像上传,及阿里云镜像上传,Docker 的资源限制
目录 Docker Compose介绍 有版本问题 一键生成 docker-compose.yml docker官网镜像上传,及阿里云镜像上传 Docker 之分布式仓库 Harbor Docke ...
- 十大网站压力测试软件 - WEB压力测试工具介绍
下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样 ...
- 网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...
- 微软压力测试工具 web application stress
WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...
- python的web压力测试工具-pylot安装使用
pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相对稳定. 这里不得不鄙视一下apache 的ab测试,那结果真是让人蛋疼,同样的url,测试结果飘忽不定,看得人心惊肉 ...
- benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明
关于数据库的压力测试,之前写过3篇Blog: 数据库基准测试(Database Benchmarking) 说明 数据库压力测试工具 -- Hammerdb 使用说明 数据库压力测试工具 -- Swi ...
最新文章
- Educational Codeforces Round 59 (Rated for Div. 2)
- 华为昇腾AI全栈知识深入解读,师资培训沙龙深圳场圆满落幕!
- 解读Java 8 中为并发而生的 ConcurrentHashMap
- mips 内存 linux,MIPS 在linux中的内存映射
- 纪中A组模拟赛总结(2021.7.21)
- I/0口输入输出实验 将P1口的某一位作为输入使用,连接一个按键,当按键按下时使发光二极管亮,否则发光二极管熄灭
- 信息学奥赛一本通(1248:Dungeon Master)
- java多线程知识汇总(三)如何选择锁?如何加锁
- Guava学习笔记:Immutable(不可变)集合
- 【图像增强】基于matlab拉氏滤波图像质量提升【含Matlab源码 488期】
- HDFS常用命令(总结)
- Adobe官方清理工具Adobe Creative Cloud Cleaner Tool使用教程
- 批量导出word中的清晰图片
- iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
- 计算几何基础--线段的性质
- SOLIDWORKS 2014官方正版功能介绍
- JavaScript代理模式之四大代理
- python turtle画表情包--牛bi
- 经典布局(flex和传统两种实现)—左中右三栏式
- Linux DNS之正向解析(邮件记录、别名解析、泛域名解析)
热门文章
- python分支案例-体脂称案例优化
- python怎么设置文字云_超燃的文字云效果,用Python就能轻松get!
- 万字长文-通过Fiddler抓包和jd-gui反编译白嫖某“绅士”APP内的正能量资源(二)
- three.js走进WebVR世界(二)之VREffect.js与VRControls.js
- vivox3android系统,vivo X3深入评测:Smart vivo ROM系统功能
- 教育学辅修计算机,互动 | 在北师大,辅修是一种怎样的体验?
- 如何用一个简单的内容升级心理学技巧将转化率提高了845%
- 服务器与交换机连接及校园网搭建方案
- python计算狗的年龄_狗一岁相当于人几岁?怎样确定狗狗的年龄
- Unity --- 基本键鼠操作