Python-Paho/MQTT : die Erkennung Connect error

Kurzum, ich habe ein Paho/MQTT Probe eingestellt, das funktioniert gut, aber ich habe Probleme beim erkennen von Fehlern. Speziell, ich bin nicht immer ein on_connect Rückruf, und wenn eine ungültige user-id/Kennwort-Kombination ist gegeben, es schlägt im hintergrund fehl.
In der Tat, durch jedes Anzeichen, es hat alles geklappt!

Was mache ich falsch?

(snip)

def on_connect(client, userdata, flags, rc):
    print("Connected with flags [%s] rtn code [%d]"% (flags, rc) )

def on_disconnect(client, userdata, rc):
    print("disconnected with rtn code [%d]"% (rc) )

def on_publish(client, userdata, msgID):
    print("Published with MsgID [%d]"% (msgID) )


mqttc = mqtt.Client()
mqttc.on_connect = on_connect
mqttc.on_disconnect = on_disconnect
mqttc.on_publish = on_publish

mqttc.username_pw_set(Q_USER, Q_PSWD)

rc=mqttc.connect(Q_BROKER, Q_PORT)
print "Return="+str(rc)

mqttc.loop_start()
rc=mqttc.publish(Q_TOPIC, "Hello, World!")
print "Return="+str(rc)

mqttc.disconnect()
mqttc.loop_stop()

Ausgabe, wenn die Benutzer-id oder Kennwort ist absichtlich falsch:

Return=0
Published with MsgID [1]
Return=(0, 1)
disconnected with rtn code [0]
Um die Verwirrung hinzuzufügen... Wenn ich den loop_start() VOR dem connect () - Aufruf, wird die Nachricht nicht posten, richtig. Noch keine Fehlermeldungen
Welchen broker benutzt du und wie hast du Sie konfiguriert die Authentifizierung? z.B. wenn mosquitto ist allow_anonymous wahr?
Beachten Sie, dass eine loop_start() vor dem connect () - Aufruf bekannt zu undefinierten Ergebnissen führen.

InformationsquelleAutor Jeppedy | 2017-02-25

Schreibe einen Kommentar