Я хотел бы использовать Java Paho MQTT и реализовать некоторый шаблон «запрос-ответ». Я имею в виду, что в некоторых случаях клиент должен общаться с сервером и ожидать конкретного ответа на конкретный запрос. Такое ощущение, что в этой библиотеке есть все необходимое для сопоставления запроса и ответа, но я не могу собрать это воедино.
Я обнаружил, что могу получить токен через DeliveryComplete и что я могу выполнить setActionCallback для этого токена. Но во-первых, я не совсем понимаю, что означает «действие». Тогда, если это означает то, что я думаю, как получить оттуда реальный ответ на мой запрос?
sampleClient.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
System.out.println(topic);
System.out.println("setCallback: "+ message.toString());
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
System.out.println(token.getMessageId());
token.setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
var response = asyncActionToken.getResponse();
try {
System.out.println(new String(response.getPayload()));
} catch (MqttException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
}
});
}
});
Подробнее здесь: https://stackoverflow.com/questions/622 ... -mqtt-java
Как реализовать шаблон запроса-ответа с помощью paho mqtt java? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение