2014-11-27 5 views
5

Поскольку указание clienID является только функцией класса MqttAndroidClient и не может быть указано при использовании классов IMqttClient и IMqttAsynchClient.Для чего нужен идентификатор клиента?

Какова реальная цель подключения клиента с уникальным ID?

ответ

7

Для каждого подключения MQTT требуется уникальный идентификатор клиента. Благодаря этому уникальному идентификатору клиента брокер может узнать, когда клиент повторно подключится и может закрыть старое потенциально полуоткрытое TCP-соединение для клиента. Кроме того, брокер MQTT может проводить постоянный сеанс для клиентов MQTT, если они этого желают (cleanSession = false на CONNECT). Если вы отключите и снова подключитесь к одному и тому же идентификатору клиента, вы получите все сообщения для своих подписок, которые вы, возможно, пропустили, и брокер знает ваши старые подписки для этого идентификатора клиента.

+0

Спасибо за информацию. но когда я пытаюсь использовать класс IMqqttClient class r IMqtttAsynchClient, нет никакого способа указать его идентификатор clientID или IP. я запустил интернет для любого примера для вышеупомянутых классов, чтобы увидеть, как можно указать ID и IP, но таких примеров нет. какие-либо рекомендации или рекомендации? – rmaik

+0

Это интерфейсы и не могут быть созданы. –

+0

@AlessandroDaRugna может быть, это может быть квест для вас :) http://stackoverflow.com/questions/27174271/what-is-the-clientid-needed-for – rmaik

Смежные вопросы