Проблема с подключением Mqtt Android PahoClient

Привет, я использую библиотеку Android paho для подключения к серверу mqtt.

Мой код Gradle на уровне приложения:

implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

Уровень проекта

все проекты {

    repositories {
        jcenter()
        maven {
            url "https://repo.eclipse.org/content/repositories/paho-snapshots/"
        }
        maven { url "https://jitpack.io" }
        maven {
            url "https://maven.google.com"
        }
    }
}

В файле манифеста

<service android:name="org.eclipse.paho.android.service.MqttService" />

разрешения

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Моя проблема заключается в том, что я могу подключиться, опубликовать данные и подписаться на тему, когда URL-адрес моего сервера tcp://:1883

Когда я изменил свой URL-адрес на mqtts://:8883, мне не удалось подключиться

Так чем же отличаются схемы tcp:// и mqtts:// или mqtt:// Почему я не могу подключиться если схема начинается с mqtt?

Пожалуйста помоги!!!


person Sonia John Kavery    schedule 18.06.2020    source источник


Ответы (1)


tcp://hostname:1883 и mqtt://hostname:1883 абсолютно одинаковы.

mqtts://hostname:8883 — это MQTT через TLS, и для его работы потребуется, чтобы брокер был правильно настроен для поддержки соединения TLS через порт 8883.

Без подробностей об ошибке, когда он не может подключиться, мы ничего не можем сказать.

person hardillb    schedule 18.06.2020