umqtt.simple: Fix MQTTClient publish for connection disruption.

Method now handles OSError: -1 after many packets, attempting reconnection.

Issue #754

Signed-off-by: Khrystyna Olkhovetska <olkhovetskakhrystyna@gmail.com>
pull/812/head
Khrystyna Olkhovetska 2024-02-28 04:24:07 +02:00
rodzic 224246531e
commit 9b883f5d23
1 zmienionych plików z 9 dodań i 1 usunięć

Wyświetl plik

@ -133,7 +133,15 @@ class MQTTClient:
self.pid += 1
pid = self.pid
struct.pack_into("!H", pkt, 0, pid)
self.sock.write(pkt, 2)
try:
self.sock.write(pkt, 2)
except OSError as e:
if e.args[0] == -1:
print("OSError: -1 occurred. Reconnecting...")
self.connect()
self.sock.write(pkt, 2)
else:
raise
self.sock.write(msg)
if qos == 1:
while 1: