Я пытаюсь контролировать брокер mqtt, поэтому я могу запустить уведомление, если есть прерывание соединения.on_disconnect mqtt клиентская сторона никогда не называется
Мой подход заключался в создании клиента облака, который ничего не делает, кроме наблюдения за брокером. «on_disconnect» похоже на соответствующий метод, но я не могу заставить его запускать. (Я загружаю и выгружаю брокерскую услугу в другом терминале).
Метод представляет собой каркас:
import random
import time
def RepresentsInt(s):
try:
int(s)
return True
except ValueError:
return False
def on_message(client, userdata, message):
print message
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
mqttc.subscribe('control/iterate',qos=0)
def on_disconnect(client, userdata, rc):
print("Disconnected")
mqttc = mqtt.Client()
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.connect('10.147.17.234', port=1883, keepalive=1)
print("test")
mqttc.loop_forever()
Очевидно, что существуют простые способы сделать это, но я чувствую, что есть элегантное решение этой проблемы, что я просто не хватает.
Пожалуйста, покажите полный пример кода, что другие люди могут работать и отладки. – nos
Как долго вы ждали, когда 'on_disconnect' будет срабатывать и что сохранить значение, которое вы установили в соединении? – hardillb
сохранить в живых было сначала 60, а затем 1. Код буквально скелет. – Sam