以下是一个使用 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 接口,以便处理连接丢失和传递完成事件。

用Java写个mqtt的同时订阅的例子

原文地址: https://www.cveoy.top/t/topic/bbjT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录