Ich habe diesen Code, der auf unbestimmte Zeit laufen sollte, tut es jedoch nicht. Es stoppt immer wieder alle paar Stunden von der Seite des Clients (hört auf zu publizieren, die Schleife läuft weiter, aber es wird nichts vom Broker empfangen) und das einzige, was getan werden kann, ist, es erneut auszuführen.Der entsprechende Wert von max_packets für MQTT-Loop-Funktion
Ich wurde here empfohlen, um die Anzahl der max_packets für die Loop-Funktion zu erhöhen, aber es funktioniert nicht und der Client stoppt die Veröffentlichung nach dem Zufallsprinzip, ohne fortzufahren. Was soll getan werden? Ich habe versucht, die Werte von 1, 3, 5, 50 und 1000, aber keine Verwendung.
Code:
client = mqtt.Client()
client.connect(address, 1883, 60)
while True:
data = getdata()
client.publish("$ahmed/",data,0)
client.loop(timeout=1.0, max_packets = 1) # what should be the parameters here so it doesn't stop publishing?
time.sleep(0.2)
Sie haben die Teilnehmer überhaupt erwähnt, wie wissen Sie, bei dem Broker nichts ankommt? – hardillb
@hardillb Oh mein Schlechter, aber mein Code, der am Makler läuft, stellt sicher, dass, wann immer eine Nachricht empfangen wird, sie ausgedruckt werden soll. –
Der Parameter max_packets wird nicht mehr verwendet, bitte setzen Sie ihn nicht. – ralight