java mqtt 示例代码
时间: 2024-06-07 07:04:46 浏览: 26
Java MQTT示例代码可以使用Eclipse Paho客户端库来实现,以下是一个简单的示例:
```java
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MqttSubscriber {
public static void main(String[] args) {
String topic = "test/topic";
int qos = 2;
String broker = "tcp://iot.eclipse.org:1883";
String clientId = "JavaSampleSubscriber";
MemoryPersistence persistence = new MemoryPersistence();
try {
MqttClient mqttClient = new MqttClient(broker, clientId, persistence);
mqttClient.setCallback(new MqttCallback() {
public void messageArrived(String topic, MqttMessage message) throws Exception {
System.out.println("Received message: " + new String(message.getPayload()));
}
public void deliveryComplete(IMqttDeliveryToken token) {
// not used in this example
}
public void connectionLost(Throwable cause) {
System.out.println("Connection lost: " + cause.getMessage());
}
});
mqttClient.connect();
System.out.println("Connected to broker: " + broker);
mqttClient.subscribe(topic, qos);
System.out.println("Subscribed to topic: " + topic);
} 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);
}
}
}
```
此示例订阅了一个主题并打印接收到的消息。您需要确保在运行代码之前已经安装Eclipse Paho客户端库。