我正在尝试使用

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客户端上接收时发布消息相关推荐

  1. java mqtt 断开连接,可以将MQTT Paho客户端断开连接吗?

    我有一个 MQTT 客户端(让我们称之为Client-1)使用java PAHO,这是pub并且没有问题的子主题,在地球的另一边我有另一个客户端(让我们称之为SuperClient),可以公共主题作为 ...

  2. MQTT客户端库-Paho GO

    为了加深理解,本文是翻译文章.原文地址 Paho GO Client   语言 GO 协议 EPL AND EDL 官网地址 http://www.eclipse.org/paho/ API类型 As ...

  3. MQTT客户端paho.mqtt.XXX

    1. MQTT客户端C代码库 C语言库:https://github.com/eclipse/paho.mqtt.c 1.1 C源码下载构建 # centos7 OS 方法一 $ git clone ...

  4. 【Mqtt】基于paho.mqtt.c库的mqtt客户端实现

    目录 1.paho.mqtt.c 2.构建 3.mqtt客户端实现 1.paho.mqtt.c https://github.com/eclipse/paho.mqtt.c

  5. paho | 支持10种语言编写mqtt客户端,总有一款适合你!

    1. 轻量级物联网协议 - MQTT MQTT全称 Message Queuing Telemetry Transport,即消息队列遥测传输协议,是一种基于发布/订阅(publish/subscri ...

  6. paho架构_MQTT系列最终章-Paho源码分析(三)-心跳与重连机制

    写在前面 通过之前MQTT系列-Eclipse.Paho源码分析(二)-消息的发送与接收的介绍,相信仔细阅读过的小伙伴已经对Eclipse.Paho内部发送和订阅消息的流程有了一个较为清晰的认识,今天 ...

  7. android paho框架,Android Mqtt 客户端paho使用心得

    Android mqtt 客户端实现一般使用以下两个库: implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1 ...

  8. android paho框架,Android 开发笔记 04 篇:Mqtt 框架 - Paho Java

    官方文档:Eclipse Paho Java Client API:Package org.eclipse.paho.client.mqttv3 Paho 基础知识 Paho Java 客户端是用 J ...

  9. MQTT客户端 Paho Java 使用

    文章目录 01.maven 依赖 02.代码 1-publisher 发布者 2-订阅者 subscriber 01.maven 依赖 <dependency><groupId> ...

最新文章

  1. ENC28j60以太网芯片驱动程序简介
  2. 做百度推广需要投入多少费用?
  3. 虚拟私有云网络VPC
  4. php html自动打开新页面大小,HTML_html 用超链接打开新窗口其可控制窗口属性,1、html超链接打开的窗口大小 - phpStudy...
  5. 【Get 以太坊技能】CentOS 7 Geth安装
  6. 为什么QueueingConsumer会被Deprecated?
  7. 图形学理论知识 BRDF 双向反射分布函数
  8. w ndows8系统没有声音怎么,Windows 8.1 系统新装没有声音
  9. update.php,update php version to 5.6
  10. 再硬写一个最简单的HTTPSERVER
  11. 装系统缺少硬盘驱动_缺少操作系统-向我学习,请在今年备份您的硬盘!
  12. Java保存书店每日交易记录
  13. 固态硬盘用软件测试读不出来,为什么我测不出固态硬盘的官标性能值?
  14. java实现百度网盘爬虫
  15. TensorFlow RNN MNIST字符识别Demo快速了解TF RNN核心框架
  16. 高效的磁力搜索引擎 -_高效的企业测试-结论(6/6)
  17. 树莓派4安装Debian10
  18. pandas数据处理基础之标准化与标签数值化
  19. python 官网下载地址
  20. Unity教程:URP渲染管线实战教程系列【1】

热门文章

  1. 上期所API头文件四、ThostFtdcTraderApi.h--交易相关组件的定义(源代码6.3.19版)
  2. 智慧大厅综合管理平台 解决方案
  3. linux系统制作usb启动盘,制作用U盘启动的Linux系统的简单步骤
  4. python与建筑结构设计_新手进入建筑设计院做结构设计,主要看哪些书籍?
  5. 华为od机试题4 真题
  6. 【Pytorch】torch.nn.Dropout()
  7. 【FPGA】: ip核——Fir滤波器
  8. 关于万物悦享推广案例
  9. matlab 异或运算符号,MATLAB运算符
  10. 频谱分析幅值单位_NVH测试中的频谱分析