@thatmaniscool

Paho mqtt, как реализовать получения от брокера?

Написал программу, которая передает сообщения от клиента брокеру, но мне нужно написать программу, которая будет получать сообщения от брокера.
Пример отправки сообщения ниже:

public class MqttPublishSample {
    private String topic = "Lesson_MQTT_server";
    private String content = "Lesson message";
    private String clientId = "random id";
    private String broker = "tcp://m15.cloudmqtt.com:18594";
    private char [] password = "******".toCharArray();
    private String userName = "*****";
    private int qos = 2; // Max quality
    
    private MemoryPersistence persistence;// wtf???
    
    private void MqttMessage (String message) {
        System.out.println (message);
    }
    
    public MqttPublishSample () {
        try {
            persistence = new MemoryPersistence ();
            
            MqttMessage ("Create client");
            MqttClient client = new MqttClient (broker, clientId, persistence);
            
            MqttMessage ("Create setting of connection");
            MqttConnectOptions options = new MqttConnectOptions ();
            options.setCleanSession(true);
            options.setUserName(userName);
            options.setPassword(password);
            
            MqttMessage ("Connect to server");
            client.connect(options);
            if (client.isConnected())
                MqttMessage ("Connect is succeful!");
            else
                MqttMessage ("Connect falls");
            
            MqttMessage("Publish message");
            MqttMessage message = new MqttMessage (content.getBytes());
            message.setQos(qos);
            client.publish(topic, message);
            MqttMessage("Message was published!");
            
            client.disconnect();
            MqttMessage("Disconnect!");
            
        } catch (MqttException ex) {
            System.out.println("reason: " + ex.getReasonCode());
            System.out.println("msg: " + ex.getMessage());
            System.out.println("loc : " + ex.getLocalizedMessage());
            System.out.println("cause: " + ex.getCause());
        }
    }
    
    
    public static void main (String...strings) {
        new MqttPublishSample ();
    }
 
}
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
App-Smart Краснодар
от 1 500 eur.
TEAMIDEA Тверь
от 70 000 до 120 000 руб.
Health Gorilla Москва
от 190 000 руб.
25 июн. 2019, в 00:24
15000 руб./за проект
24 июн. 2019, в 23:27
8000 руб./за проект