官网

我下载的是windows版

安装

参考
http://emqtt.com/docs/install.html

将下载的压缩包解压,我解压到了D盘

命令行窗口,cd到程序目录

控制台模式启动:

.\bin\emqttd console

报错如下

无法启动此程序,因为计算机中丢失 MSVCR120.dll。尝试重新安装该程序以解决次问题。

找一个MSVCR120.dll文件,可以去网上下载,也可以在自己电脑上找

HBuilder下有
mqttfx下也有
XMind下也有
IDEA下也有

我拷贝一个mqttfx下的到Windows\System32下

然后重新执行

.\bin\emqttd console

启动成功

登录

http://localhost:18083/

用户名为admin密码为public

登录上去就可以看服务器的运行状态了

测试

依赖

    <dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.0.2</version>
</dependency>

  

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()));
} }

结果

控制台显示

两个连接

参考文献

http://emqtt.com/

百度开放云物接入IoT–Java客户端

--------------------- 本文来自 GW_Cheng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/frankcheng5143/article/details/52045501?utm_source=copy

转:EMQTT测试--安装与测试 (windows)的更多相关文章

  1. EMQTT测试--安装与测试 (windows)

    我下载的是windows版 安装 参考http://emqtt.com/docs/install.html 将下载的压缩包解压,我解压到了D盘 命令行窗口,cd到程序目录 控制台模式启动: .\bin ...

  2. 测试安装phpmyadmin4.0

    在测试环境准备测试安装phpmyadmin,测试环境上为一台zabbix 3.4的服务器,已经安装lamp环境. 根据安装文档,从phpmyadmin官网上下载了4.0版本,复制到/var/www/h ...

  3. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  4. NodeJs在windows上安装配置测试

    Node.js简介简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个 ...

  5. 『开发技术』Docker开发教程(一)安装与测试(Windows 家庭版)

    0.前言 针对其他系统和版本,Docker都很容易安装,可以参考官方教程:https://docs.docker.com/docker-hub/ 由于Windows10家庭版无法安装docker,因此 ...

  6. windows x64安装与测试redis

    说明:安装与测试的系统为windows X64: 1.下载redis:https://github.com/microsoftarchive/redis/releases 2.解压Redis-x64- ...

  7. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  8. Window下memcached安装与测试步骤

    如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...

  9. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

随机推荐

  1. 0103 最短Hamilton路径【状压DP】

    0103 最短Hamilton路径 0x00「基本算法」例题 描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径. Ham ...

  2. ACM-ICPC北京赛区(2017)网络赛1【模拟+枚举+数组操作】

    题目1 : Visiting Peking University 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Ming is going to travel for n ...

  3. poj2778(AC 自动机)

    poj2778 题意 构造只包含 \(A, T, C, G\) 的字符串,且满足不出现指定的一些字符串,问长度为 \(n\) 的字符串有多少种 ? 分析 AC 自动机 + 矩阵快速幂的神题 ,知识点很 ...

  4. 日期 function

    SELECT SYSDATE, ADD_MONTHS(SYSDATE,), ADD_MONTHS(SYSDATE,), LAST_DAY(SYSDATE), MONTHS_BETWEEN(SYSDAT ...

  5. [Contest20180328]同构

    我们先把两棵树的所有节点的儿子排序,然后dfs,记录访问的深度序列 然后可以发现题目中的两个操作都只会在深度序列中删掉一位,不会对其他位有影响(自己画画图就知道了) 对于一个深度序列$d_{1\cdo ...

  6. [CF919E]Congruence Equation

    题意:求关于$n$的方程$n\cdot a^n\equiv b\left(mod\ p\right)$在$[1,x]$中整数解的数量 果然是Chinese round,interesting roun ...

  7. 【贪心】bzoj3709 [PA2014]Bohater

    把怪分成两类看: 一.回血>损血 则若先杀损血少的再杀损血多的,则为当前这一步提供了更高的可能性.因为血量是单增的,所以尽量用较少的血量去干♂耗血较少的怪物. 二.回血<损血 则若先杀回血 ...

  8. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  9. 常用vim命令合集

    移动命令: h:左移 l:右移 k:上移 j:下移 ^:移动到本行第一个非空白字符上 0:移动到本行第一个字符上 gg:移动到文件头 G = shift + g:移动到文件尾 %:从一个"{ ...

  10. Python数据整合与数据准备-BigGorilla应用

    一.前言 要应用BigGorilla框架对应数据进行数据的处理与匹配,那么首先要下载Anaconda安装,下载地址:https://www.continuum.io/downloads Anacond ...