MQTT 订阅服务器丢失消息

时间:2021-04-11 13:46:57

标签: python mqtt

我正在尝试使用 MQTT 将消息从一个客户端发送到另一个客户端,两者都是发布者和订阅者。在第一个客户端的情况下,是一个 Raspberry,它运行 4 个进程,即程序的 4 次执行,在另一端,一个必须接收 4 个进程发布的所有消息的服务器。

订阅者部分:

mqttc = paho.Client()                                       # mqttc object
# assign on_connect func
mqttc.on_connect = on_connect
# assign on_message func
mqttc.on_message = on_message
#mqttc.on_log = on_log

mqttc.tls_set(caPath, certfile=certPath, keyfile=keyPath, cert_reqs=ssl.CERT_REQUIRED,
              tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)  # pass parameters

# connect to aws server
mqttc.connect(awshost, awsport, keepalive=60)

### *Till here* ###

sleep(3)
mqttc.loop_start()                                          # Start the loop
ethName = getEthName()
ethMAC = getMAC(ethName)
macIdStr = ethMAC
mqttc.subscribe("home/AWS1", 1)
mqttc.subscribe("home/AWS2", 1)

while 1 == 1:
    if connflag == True:
        p = 1  # line that does nothing only waits

    else:
        print("waiting for connection...")

问题是在服务器中我只收到前 2 个客户端的消息。另外,4个客户端几乎同时发送消息,我不知道这是不是问题。

0 个答案:

没有答案