kopia lustrzana https://github.com/micropython/micropython-lib
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
rodzic
224246531e
commit
9b883f5d23
|
@ -133,7 +133,15 @@ class MQTTClient:
|
||||||
self.pid += 1
|
self.pid += 1
|
||||||
pid = self.pid
|
pid = self.pid
|
||||||
struct.pack_into("!H", pkt, 0, pid)
|
struct.pack_into("!H", pkt, 0, pid)
|
||||||
|
try:
|
||||||
self.sock.write(pkt, 2)
|
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)
|
self.sock.write(msg)
|
||||||
if qos == 1:
|
if qos == 1:
|
||||||
while 1:
|
while 1:
|
||||||
|
|
Ładowanie…
Reference in New Issue