eclipse paho java_如何使用Eclipse Paho在Java MQTT客户端上接收时发布消息
我正在尝试使用
Eclipse Paho在Java中的MQTT客户端上实现某些功能.目标是订阅主题,并且当收到消息时,客户端发送关于另一主题的另一消息.
这看起来很容易,但我有一个奇怪的问题,我无法解决.这是我的代码:
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.IMqttToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MqttOperations implements MqttCallback {
MqttClient sampleClient;
MqttConnectOptions connOpts;
public MqttOperations() {
}
public static void main(String[] args) throws InterruptedException {
new MqttOperations().launchMqttClient();
}
public void launchMqttClient() throws InterruptedException {
try {
MemoryPersistence persistence = new MemoryPersistence();
sampleClient = new MqttClient("tcp://broker.mqttdashboard.com:1883", "iamaclient", persistence);
connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
sampleClient.connect(connOpts);
sampleClient.subscribe("topic/example/ofmessage");
sampleClient.setCallback(this);
} catch(MqttException me) {
System.out.println("reason "+me.getReasonCode());
System.out.println("msg "+me.getMessage());
System.out.println("loc "+me.getLocalizedMessage());
System.out.println("cause "+me.getCause());
System.out.println("excep "+me);
me.printStackTrace();
}
}
@Override
public void connectionLost(Throwable cause) {
// TODO Auto-generated method stub
}
@Override
public void messageArrived(String topic, MqttMessage message) throws MqttException
{
System.out.println("Received: " + message.toString());
try{
System.out.println("Publishing message: i am the answer");
MqttMessage ans = new MqttMessage("i am the answer".getBytes());
ans.setQos(2);
sampleClient.publish("topic/example/ofanswer", ans);
System.out.println("Message published");
}catch(MqttException me){
System.out.println("reason "+me.getReasonCode());
System.out.println("msg "+me.getMessage());
System.out.println("loc "+me.getLocalizedMessage());
System.out.println("cause "+me.getCause());
System.out.println("excep "+me);
me.printStackTrace();
}
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
}
问题是,这个程序只运行一次.收到消息后,将发送此消息的答案,但似乎消息“消息已发布”从未显示在屏幕上,并且客户端不会收到任何其他消息.
我有这样的印象,即sampleClient.publish行(“topic / example / ofanswer”,ans);永远不会完成它的执行.
有谁知道它是怎么来的,请问如何解决我的问题?
eclipse paho java_如何使用Eclipse Paho在Java MQTT客户端上接收时发布消息相关推荐
- java mqtt 断开连接,可以将MQTT Paho客户端断开连接吗?
我有一个 MQTT 客户端(让我们称之为Client-1)使用java PAHO,这是pub并且没有问题的子主题,在地球的另一边我有另一个客户端(让我们称之为SuperClient),可以公共主题作为 ...
- MQTT客户端库-Paho GO
为了加深理解,本文是翻译文章.原文地址 Paho GO Client 语言 GO 协议 EPL AND EDL 官网地址 http://www.eclipse.org/paho/ API类型 As ...
- MQTT客户端paho.mqtt.XXX
1. MQTT客户端C代码库 C语言库:https://github.com/eclipse/paho.mqtt.c 1.1 C源码下载构建 # centos7 OS 方法一 $ git clone ...
- 【Mqtt】基于paho.mqtt.c库的mqtt客户端实现
目录 1.paho.mqtt.c 2.构建 3.mqtt客户端实现 1.paho.mqtt.c https://github.com/eclipse/paho.mqtt.c
- paho | 支持10种语言编写mqtt客户端,总有一款适合你!
1. 轻量级物联网协议 - MQTT MQTT全称 Message Queuing Telemetry Transport,即消息队列遥测传输协议,是一种基于发布/订阅(publish/subscri ...
- paho架构_MQTT系列最终章-Paho源码分析(三)-心跳与重连机制
写在前面 通过之前MQTT系列-Eclipse.Paho源码分析(二)-消息的发送与接收的介绍,相信仔细阅读过的小伙伴已经对Eclipse.Paho内部发送和订阅消息的流程有了一个较为清晰的认识,今天 ...
- android paho框架,Android Mqtt 客户端paho使用心得
Android mqtt 客户端实现一般使用以下两个库: implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1 ...
- android paho框架,Android 开发笔记 04 篇:Mqtt 框架 - Paho Java
官方文档:Eclipse Paho Java Client API:Package org.eclipse.paho.client.mqttv3 Paho 基础知识 Paho Java 客户端是用 J ...
- MQTT客户端 Paho Java 使用
文章目录 01.maven 依赖 02.代码 1-publisher 发布者 2-订阅者 subscriber 01.maven 依赖 <dependency><groupId> ...
最新文章
- ENC28j60以太网芯片驱动程序简介
- 做百度推广需要投入多少费用?
- 虚拟私有云网络VPC
- php html自动打开新页面大小,HTML_html 用超链接打开新窗口其可控制窗口属性,1、html超链接打开的窗口大小 - phpStudy...
- 【Get 以太坊技能】CentOS 7 Geth安装
- 为什么QueueingConsumer会被Deprecated?
- 图形学理论知识 BRDF 双向反射分布函数
- w ndows8系统没有声音怎么,Windows 8.1 系统新装没有声音
- update.php,update php version to 5.6
- 再硬写一个最简单的HTTPSERVER
- 装系统缺少硬盘驱动_缺少操作系统-向我学习,请在今年备份您的硬盘!
- Java保存书店每日交易记录
- 固态硬盘用软件测试读不出来,为什么我测不出固态硬盘的官标性能值?
- java实现百度网盘爬虫
- TensorFlow RNN MNIST字符识别Demo快速了解TF RNN核心框架
- 高效的磁力搜索引擎 -_高效的企业测试-结论(6/6)
- 树莓派4安装Debian10
- pandas数据处理基础之标准化与标签数值化
- python 官网下载地址
- Unity教程:URP渲染管线实战教程系列【1】
热门文章
- 上期所API头文件四、ThostFtdcTraderApi.h--交易相关组件的定义(源代码6.3.19版)
- 智慧大厅综合管理平台 解决方案
- linux系统制作usb启动盘,制作用U盘启动的Linux系统的简单步骤
- python与建筑结构设计_新手进入建筑设计院做结构设计,主要看哪些书籍?
- 华为od机试题4 真题
- 【Pytorch】torch.nn.Dropout()
- 【FPGA】: ip核——Fir滤波器
- 关于万物悦享推广案例
- matlab 异或运算符号,MATLAB运算符
- 频谱分析幅值单位_NVH测试中的频谱分析