记录下写client时遇到的一些问题
1. subscribe(topic, qos) 和 publish(topic, payload=None, qos=0, retain=False)
网上找到的简单的client代码subscribe都放在回调函数on_connect里。如下:
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("Topic/#",2)
def on_message(client, userdata, msg):
print("Topic: ",msg.topic, "Payload: ", msg.payload.decode())
client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
client = mqtt.Client(client_id)
client.username_pw_set("admin", "password")
client.on_connect = on_connect
client.on_message = on_message
HOST = "127.0.0.1"
client.connect(HOST, 61613, 60)
client.loop_forever()
我尝试把subscribe放在client.connect下总是报错,一直搞不清楚为什么,最后在subscribe前加了1s中的sleep,居然可以了。
import p