EMQTT测试--安装与测试
来源:互联网 发布:单片机接地 编辑:程序博客网 时间:2024/05/16 06:07
官网
我下载的是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客户端
0 0
- EMQTT测试--安装与测试
- centos6.8下emqtt集群安装配置与测试验证
- EMQTT测试--压力测试
- pvfs 安装与测试
- smarty_安装与测试
- 测试与安装 grub
- sysbench 安装与测试
- Sphinx安装与测试
- Coreseek安装与测试
- GTK 安装与测试
- redis安装与测试
- 数据库安装与测试
- nutch安装与测试
- gtkmm安装与测试
- MySQL安装与测试
- Lapack安装与测试
- Flume安装与测试
- redis安装与测试
- spring-boot actuator(监控)配置和使用
- Activity生命周期小结
- 【二分法】POJ3258-River Hopscotch
- 5-31 笛卡尔树
- java内存溢出的几种情况
- EMQTT测试--安装与测试
- 代码中断言的使用NSAssert、NSParameterAssert
- iOS开发 ☞ __block,__weak,__strong
- IOS学习笔记-获取当前的地理位置swift版
- c++ 内存管理
- RMQ
- 错误:fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning
- C++拷贝构造函数详解
- 驾驶员疲劳预警系统