def on_connect(self, client, userdata, flags, rc): if rc == 0: client.connected_flag = True for i in range(quantity_user_node_clients): if user_node_clients[i]["client"] == client: topic = user_node_clients[i]["sub_topic"] break client.subscribe(topic) else: print("Bad connection Returned code = ", rc) client.loop_stop()
mqtt.Client.connected_flag = False communicate_device = CommunicateDevice() communicate_device.create_multi_connections() active_thread_num = threading.active_count() print("current threads = ", active_thread_num) print("Creating Connections ", quantity_user_node_clients, " user_node_clients") print("Publishing ") Run_Flag = True try: while Run_Flag: client = user_node_clients[0]["client"] pub_topic = user_node_clients[0]["pub_topic"] if client.connected_flag: #print("user device "+ str(17) + " is publishing~~~~~~~~~~") client.publish(pub_topic, str(request_resource_capacity)) time.sleep(1.5) except KeyboardInterrupt: print("interrupted by keyboard") for i in range(quantity_user_node_clients): client = mqtt.Client(user_node_clients[i]["client_id"]) client.loop_stop() time.sleep(1)