什么是clientID需要?

时间:2014-11-27 15:38:35

标签: android mqtt broker paho android-open-accessory

由于指定clienID只是类MqttAndroidClient中的一项功能,因此在使用类IMqttClientIMqttAsynchClient时无法指定。

使用唯一的ID

连接客户端的真正目的是什么?

1 个答案:

答案 0 :(得分:9)

每个MQTT连接都需要唯一的客户端ID。使用此唯一客户端ID,代理可以识别客户端何时重新连接,并可以为客户端关闭旧的可能半开TCP连接。此外,MQTT代理可以为MQTT客户端保留持久会话(如果他们希望这样做)(CONNECT上的 cleanSession = false )。如果您断开并重新连接相同的客户端ID,您将收到您可能错过的所有订阅消息,并且经纪人知道您对该客户端ID的旧订阅。