MQTT-Java应用程序无法查看已发布的消息
我正在eclipse中开发MQTT应用程序。我之前使用mqtt dashboard作为公共代理,并且能够看到我在dashboard上发布的消息。由于某种原因,这个网站关闭了,所以我转到了莫斯奎托。我的代码是相同的,但仍然无法将消息发布到此代理。我的代码如下:MQTT-Java应用程序无法查看已发布的消息,java,mqtt,mosquitto,Java,Mqtt,Mosquitto,我正在eclipse中开发MQTT应用程序。我之前使用mqtt dashboard作为公共代理,并且能够看到我在dashboard上发布的消息。由于某种原因,这个网站关闭了,所以我转到了莫斯奎托。我的代码是相同的,但仍然无法将消息发布到此代理。我的代码如下: public static void main(String[] args) { String topic = "home automation systems"; String content =
public static void main(String[] args) {
String topic = "home automation systems";
String content = "I am a test message";
int qos = 2;
String broker = "tcp://test.mosquitto.org:1883";
String clientId = "home automation";
MemoryPersistence persistence = new MemoryPersistence();
try {
MqttClient sampleClient = new MqttClient(broker, clientId, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
System.out.println("Connecting to broker: "+broker);
sampleClient.connect(connOpts);
System.out.println("Connected");
System.out.println("Publishing message: "+content);
MqttMessage message = new MqttMessage(content.getBytes());
message.setQos(qos);
sampleClient.publish(topic, message);
System.out.println("Message published");
sampleClient.disconnect();
System.out.println("Disconnected");
System.exit(0);
}
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();
}
}
}
我正在尝试查看此仪表板上发布的消息:
但是看不到我的留言。如果我遗漏了什么,请纠正我。我是新手。谢谢。如果您希望在该仪表板上显示消息,则需要使用保留标志集发布该消息-该web应用程序只能显示保留消息,而不能显示常规的临时消息。我不熟悉保留消息和临时消息。这是一个与MQTT相关的概念吗?是的,保留消息是MQTT的一个特性。您能帮我解决这个问题吗。