В приведенном ниже фрагменте кода я объявляю username
и passqord
для подписки.Пароли разные, и я вижу опубликованные сообщения?
private final String userName = "user_1";
private final char[] password = "pass".toCharArray();
....
....
final MqttAndroidClient client_1 = new MqttAndroidClient(getApplicationContext(), serverURI,
clientID, persistenceDataDir, Ack.AUTO_ACK);
MqttConnectOptions opts = new MqttConnectOptions();
opts.setCleanSession(false);
opts.setWill(WILL_TOPIC, WILL_MSG.getBytes(), QoS, false);
opts.setKeepAliveInterval(keepAliveInterval);
opts.setUserName(userName);
opts.setPassword(password);
Я начал соединение из App с clean session = false
и client ID = 1
без passwoed и имя пользователя при условии, и я продолжал публикацию (от ПК к брокеру) значения темы я подписался (из приложения к Брокер.
Позже в сообщении subscribe
я поставил Pasword и имя пользователя в моих вариантах подключения, а не указать имя пользователя и пароль для publish
сообщения и повторно запустить р., что происходит, я получил обновленный опубликованные значения темы, к которой я отношусь.
После этого в publish
я указал неправильное имя пользователя и пароль и подпишусь на ту же тему, и когда я запустил приложение, я получаю значения normaly.
Я использую пароль и имя пользователя неправильно?
Примечание:.
Это полностью зависит от того, как вы настроили от вашего брокера. Какой брокер MQTT вы используете и как вы настроили принятое имя пользователя и пароль? –
Я использую mosquitto, и когда я публикую сообщение, я задаю имя пользователя, используя «-u» и пароль, используя «-P», и при подписке, поскольку я использую API Android paho, я использую «mqttConnectOptions», например: options.setUsername (имя пользователя) – LetsamrIt