Skip to content

Commit c9a9b48

Browse files
candalepfalcon
authored andcommitted
umqtt.simple: Add keepalive connection parameter.
1 parent fcec7f7 commit c9a9b48

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

umqtt.simple/umqtt/simple.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ class MQTTException(Exception):
77

88
class MQTTClient:
99

10-
def __init__(self, client_id, server, port=0, user=None, password=None, ssl=False):
10+
def __init__(self, client_id, server, port=0, user=None, password=None, keepalive=0,
11+
ssl=False):
1112
if port == 0:
1213
port = 8883 if ssl else 1883
1314
self.client_id = client_id
@@ -18,6 +19,7 @@ def __init__(self, client_id, server, port=0, user=None, password=None, ssl=Fals
1819
self.cb = None
1920
self.user = user
2021
self.pswd = password
22+
self.keepalive = keepalive
2123

2224
def _send_str(self, s):
2325
self.sock.write(struct.pack("!H", len(s)))
@@ -48,6 +50,10 @@ def connect(self, clean_session=True):
4850
if self.user is not None:
4951
msg[1] += 2 + len(self.user) + 2 + len(self.pswd)
5052
msg[9] |= 0xC0
53+
if self.keepalive:
54+
assert self.keepalive < 65536
55+
msg[10] |= self.keepalive >> 8
56+
msg[11] |= self.keepalive & 0x00FF
5157
self.sock.write(msg)
5258
#print(hex(len(msg)), hexlify(msg, ":"))
5359
self._send_str(self.client_id)

0 commit comments

Comments
 (0)