@@ -305,7 +305,7 @@ def connect(self, clean_session=True):
305
305
fixed_header = bytearray ()
306
306
fixed_header .append (0x10 )
307
307
308
- # NOTE: Variable header is
308
+ # NOTE: Variable header is
309
309
# MQTT_HDR_CONNECT = bytearray(b"\x04MQTT\x04\x02\0\0")
310
310
# because final 4 bytes are 4, 2, 0, 0
311
311
# Variable Header
@@ -446,21 +446,25 @@ def publish(self, topic, msg, retain=False, qos=0):
446
446
raise MMQTTException ("Message size larger than %db." % MQTT_MSG_MAX_SZ )
447
447
self ._check_qos (qos )
448
448
449
- pub_hdr_fixed = bytearray ()
450
- pub_hdr_fixed .append (0x30 )
451
- #pub_hdr_var[0] |= qos << 1 | retain
449
+ pub_hdr_fixed = bytearray (b"\x30 " )
450
+
451
+ pub_hdr_fixed [0 ] |= qos << 1 | retain
452
+ pub_hdr_fixed .append (len (msg ))
452
453
453
- # pub_hdr_var = bytearray(b"\x03\x61\x2F\x62\0\0")
454
454
pub_hdr_var = bytearray ()
455
- pub_hdr_var .append (0x03 )
455
+ pub_hdr_var .extend (b"\x00 \x17 " )
456
+
456
457
457
- remaining_length = 4 + len (topic )
458
+ print (len (topic ))
459
+ print (len (msg ))
460
+ remaining_length = 7 + len (msg )
458
461
459
462
if qos > 0 :
460
463
remaining_length += 2 + len (qos )
461
464
462
465
assert remaining_length < 2097152 # TODO: need a more descriptive error thrown here!
463
466
467
+ """
464
468
# Remaining length calculation
465
469
large_rel_length = False
466
470
if remaining_length > 0x7f:
@@ -479,12 +483,16 @@ def publish(self, topic, msg, retain=False, qos=0):
479
483
pub_hdr_fixed.append(remaining_length)
480
484
pub_hdr_fixed.append(0x00)
481
485
print(pub_hdr_fixed)
486
+ """
487
+
488
+
489
+
482
490
483
491
self ._sock .send (pub_hdr_fixed )
484
492
self ._sock .send (pub_hdr_var )
493
+ # UP TO HERE!!
485
494
self ._send_str (topic )
486
- self ._sock .send (b"\0 \0 " )
487
- self ._sock .send (msg )
495
+ # self._sock.send(msg)
488
496
489
497
def subscribe (self , topic , qos = 0 ):
490
498
"""Subscribes to a topic on the MQTT Broker.
@@ -813,4 +821,4 @@ def set_logger_level(self, log_level):
813
821
elif log_level == "ERROR" :
814
822
self .logger .setLevel (logging .CRITICIAL )
815
823
else :
816
- raise MMQTTException ("Incorrect logging level provided!" )
824
+ raise MMQTTException ("Incorrect logging level provided!" )
0 commit comments