java使用mqtt双向通信代码
时间: 2024-05-26 16:09:30 浏览: 170
Java中使用MQTT实现双向通信的代码如下:
首先,需要引入mqtt-client的依赖包,可以通过Maven或Gradle进行引入。
接下来,创建一个MqttClient对象并连接到MQTT服务器:
```java
String broker = "tcp://localhost:1883";
String clientId = "JavaExample";
MemoryPersistence persistence = new MemoryPersistence();
MqttClient mqttClient = new MqttClient(broker, clientId, persistence);
mqttClient.connect();
```
然后,创建一个MqttMessage对象并设置消息内容:
```java
String content = "Hello, World!";
MqttMessage message = new MqttMessage(content.getBytes());
```
接着,创建一个MqttTopic对象并发布消息:
```java
String topicName = "example/topic";
MqttTopic topic = mqttClient.getTopic(topicName);
topic.publish(message);
```
最后,订阅主题并接收消息:
```java
mqttClient.subscribe(topicName, new MqttCallback() {
@Override
public void connectionLost(Throwable throwable) {
System.out.println("Connection lost!");
}
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
System.out.println("Received message: " + new String(mqttMessage.getPayload()));
}
@Override
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
System.out.println("Delivery complete!");
}
});
```
阅读全文