用Java写个mqtt的同时订阅的例子
以下是一个使用 Eclipse Paho MQTT Java 客户端库的 MQTT 发布/订阅示例:
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MqttExample implements MqttCallback {
private MqttClient client;
private String brokerUrl = "tcp://localhost:1883";
private String clientId = "JavaExample";
private MemoryPersistence persistence = new MemoryPersistence();
public MqttExample() {
try {
client = new MqttClient(brokerUrl, clientId, persistence);
client.setCallback(this);
client.connect();
System.out.println("Connected to " + brokerUrl);
client.subscribe("exampleTopic");
System.out.println("Subscribed to exampleTopic");
} catch (MqttException e) {
e.printStackTrace();
}
}
public void connectionLost(Throwable throwable) {
System.out.println("Connection lost: " + throwable.getMessage());
try {
client.connect();
System.out.println("Reconnected to " + brokerUrl);
client.subscribe("exampleTopic");
System.out.println("Subscribed to exampleTopic");
} catch (MqttException e) {
e.printStackTrace();
}
}
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
System.out.println("Received message: " + new String(mqttMessage.getPayload()));
}
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
// not used in this example
}
public static void main(String[] args) {
new MqttExample();
}
}
这个示例创建一个 MqttClient 对象,并连接到本地 MQTT 代理。然后,它订阅一个名为 "exampleTopic" 的主题,并在收到新消息时打印它们。如果连接断开,它会尝试重新连接并重新订阅主题。这个示例还实现了 MqttCallback 接口,以便处理连接丢失和传递完成事件。
原文地址: https://www.cveoy.top/t/topic/bbjT 著作权归作者所有。请勿转载和采集!