Можно издеваться над брокером MQTT в Android Studio? - PullRequest
0 голосов
/ 04 марта 2019

Я хочу провести модульный тест для клиентского модуля Mqtt в Android Studio, потому что я хочу отправлять данные с устройства Android на ПК, но я не знаю, как это проверить без реального сервера, яиспользуя библиотеку paho.Есть способ сделать это?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Вы не можете использовать библиотеку paho для макета брокера, но есть брокер moquette (https://github.com/moquette-io/moquette), который вы можете использовать для встраивания брокера в существующее приложение Java

0 голосов
/ 05 марта 2019

Да, локальные автономные тесты легко выполнять при разработке с помощью Android Studio и эмулятора Android на компьютере Mac, Linux или Windows -

Сначала установите mosquitto и запустите брокер по адресуlocalhost (в Windows просто дважды щелкните mosquitto.exe, в Linux / Mac запустите ./mosquitto в окне терминала).

Затем откройте другое окно терминала и подпишитесь на все темы, выполнив:

./mosquito_sub -v -t "#"

Или в Windows в окне cmd:

mosquito_sub.exe -v -t "#"

Наконец, в исходном коде Java измените URL при запуске в эмуляторе:

public static boolean isEmulator() {
    return (Build.PRODUCT != null && Build.PRODUCT.toLowerCase().contains("sdk")) ||
            (Build.MODEL != null && Build.MODEL.toLowerCase().contains("sdk"));
}

private static final String BROKER_URL = 
    isEmulator() ? "tcp://10.0.2.2/" : "tcp://test.mosquitto.org/";
...