MQTT Paho Pythonスクリプトを接続したままにしておくと、接続が解除されたときに再接続しようとしています。残念ながら、私はこれについてどうやって行くのか分かりません。MQTT Paho Pythonの信頼性の高い再接続
つまり、マシンがWiFi経由で接続されているため、信号が壊れた場合やUSBドングルが突き出された場合、私はコードをボークアウトしたくないので、すべての例外をカバーしようとしています/エラー。ここで
は、私が一緒に仕事しようとしているコードの塊だ:私はそれが再び接続するために得ることができる方法がわからないので、
mqttc = mqtt.Client(machine_id, clean_session=False)
mqttc.username_pw_set(machine_id, mqtt_pwd)
mqttc.connect(mqtt_host, mqtt_port)
mqttc.subscribe(machine_id, qos=1)
def on_disconnect(client, userdata, rc):
if rc != 0:
print "Unexpected MQTT disconnection. Attempting to reconnect."
try:
mqttc.reconnect()
except socket.error:
??????
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.on_disconnect = on_disconnect
mqttc.loop_forever()
私は更に多く取得することができませんでしたか?それが初めて再接続できない限り、私は適切な再接続ループを得ることができません。
アドバイスは本当に役に立ちます。
ありがとうございます!
'loop_forever() 'はスレッドを開始しませんが、これは間違っています。しかし、あなたが言うようにそれはブロックされます。 – ralight
ありがとう@ralight。あなたはクライアントを書きました。もし歓迎されれば、さらなる修正 – Kiran