【发布时间】:2015-05-19 08:01:01
【问题描述】:
我正在为 Qos=2 订阅主题“OK/Topic”的消息,但有时我没有收到 Qos=2 发布的消息,遵循我的订阅代码:
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("OK/Topic",2)
def on_message(client, userdata, msg):
print(" Topic : "+str(msg.topic)+" and Message is : "+str(msg.payload))
def on_subscribe(client, userdata,mid, granted_qos):
print "userdata : " +str(userdata)
strs="my-message-to-publish"
mqttc = mqtt.Client("Python-MQTT-Pub-Sub")
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.on_subscribe = on_subscribe
mqttc.connect("IP", PORT, 60)
mqttc.start_loop()
while True:
mqttc.publish("New/Topic",str(strs))
print "publish message " + str(strs)
time.sleep(1)
我在主题“OK/Topic”上的发布者代码如下:
def on_publish(client, userdata, mid):
client.disconnect()
mqttc = mqtt.Client()
mqttc.on_publish = on_publish
mqttc.publish("OK/Topic","my_message",2)
如果我发布 10 条消息,我将收到订阅者 7-8 消息,但不是 10 任何人都知道为什么我会丢失一些消息。
谢谢..!!!
【问题讨论】: