由于指定clienID
只是类MqttAndroidClient
中的一项功能,因此在使用类IMqttClient
和IMqttAsynchClient
时无法指定。
使用唯一的ID
答案 0 :(得分:9)
每个MQTT连接都需要唯一的客户端ID。使用此唯一客户端ID,代理可以识别客户端何时重新连接,并可以为客户端关闭旧的可能半开TCP连接。此外,MQTT代理可以为MQTT客户端保留持久会话(如果他们希望这样做)(CONNECT上的 cleanSession = false )。如果您断开并重新连接相同的客户端ID,您将收到您可能错过的所有订阅消息,并且经纪人知道您对该客户端ID的旧订阅。