0
我從線程「Python MQTT連接只有有限的時間」下面的python腳本。Python MQTT收到消息後重置計時器
#!/usr/bin/python
import sys
import paho.mqtt.client as mqtt
import time
def on_message(client, userdata, msg):
if msg.topic == "foo/bar":
print ("test successful! Message = ", str(msg.payload.decode("utf-8")))
startTime = time.time()
def on_connect(client, userdata, flags, rc):
client.subscribe("foo/bar")
print("Client connected")
client = mqtt.Client("Python1", clean_session=True)
try:
client.connect("localhost")
except:
print ("ERROR: Could not connect to MQTT")
client.on_connect = on_connect
client.on_message = on_message
startTime = time.time()
waitTime = 10
while True:
client.loop()
elapsedTime = time.time() - startTime
print("Elapsed time: ", elapsedTime)
if elapsedTime > waitTime:
client.disconnect()
break
客戶端將等待10秒,如果它在10秒內沒有收到任何消息,則客戶端將斷開連接。
我現在要做的是每當客戶端收到消息時,我想將startTime重置回當前時間,以便客戶端保持連接狀態,10秒後不會終止,我不知道應該在哪裏修改編碼來實現它。
非常感謝,它工作完美! – Rexksvii