阿里物联网SDK(python)源码分析

  1. 初始connect到mqtt的调用顺序
connect_async --->  __loop_forever_internal ---> __config_mqtt_client_internal ----> __mqtt_client.connect_async ---> __mqtt_client.reconnect() ----> _send_connect
  1. 大坑
  • 在__config_mqtt_client_internal函数中,有个设置tls的程序段,如果使用非阿里的mqtt server,需要注释掉,不然报错。
  • 连接成功后,阿里默认会去获取物模型,但是topic不对,所以需要直接注释掉。
    在__config_mqtt_client_internal函数中,将__on_internal_connect赋给了on_connect, 而__on_internal_connect中,有默认topic的订阅
def __on_internal_connect(self, client, user_data, session_flag, rc):
        self.__link_log.info("__on_internal_connect")
        if rc == 0:
            self.__reset_reconnect_wait()
            #self.__subscribe_sys_topic()

你可能感兴趣的:(阿里物联网SDK(python)源码分析)