运行 如何在后台 运行 MQTT 客户端?

How to run MQTT client in background in Python?

我正在尝试连接到 DroneKit-SITL 并保留 MQTT-Broker 运行 loop_forever()。每当我通过 MQTT 收到消息时,我想通过 dronekit python API 向无人机发送命令。同时,我想每 5 秒通过 MQTT 向其他客户端发送无人机数据。

如何让我的 dronekit-sitl-class 和 mqtt-broker-class 相互交互?他们每个人应该 运行 在一个线程还是一个进程中?

我通过 运行 像这样在单独的线程中循环解决了这个问题:

clientloop_thread = Thread(target=self.connect)
clientloop_thread.start()

def connect(self):
    self._client.loop_forever()