@@ -305,7 +305,7 @@ def connect(self, clean_session=True):
305305 fixed_header = bytearray ()
306306 fixed_header .append (0x10 )
307307
308- # NOTE: Variable header is
308+ # NOTE: Variable header is
309309 # MQTT_HDR_CONNECT = bytearray(b"\x04MQTT\x04\x02\0\0")
310310 # because final 4 bytes are 4, 2, 0, 0
311311 # Variable Header
@@ -446,21 +446,25 @@ def publish(self, topic, msg, retain=False, qos=0):
446446 raise MMQTTException ("Message size larger than %db." % MQTT_MSG_MAX_SZ )
447447 self ._check_qos (qos )
448448
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 ))
452453
453- # pub_hdr_var = bytearray(b"\x03\x61\x2F\x62\0\0")
454454 pub_hdr_var = bytearray ()
455- pub_hdr_var .append (0x03 )
455+ pub_hdr_var .extend (b"\x00 \x17 " )
456+
456457
457- remaining_length = 4 + len (topic )
458+ print (len (topic ))
459+ print (len (msg ))
460+ remaining_length = 7 + len (msg )
458461
459462 if qos > 0 :
460463 remaining_length += 2 + len (qos )
461464
462465 assert remaining_length < 2097152 # TODO: need a more descriptive error thrown here!
463466
467+ """
464468 # Remaining length calculation
465469 large_rel_length = False
466470 if remaining_length > 0x7f:
@@ -479,12 +483,16 @@ def publish(self, topic, msg, retain=False, qos=0):
479483 pub_hdr_fixed.append(remaining_length)
480484 pub_hdr_fixed.append(0x00)
481485 print(pub_hdr_fixed)
486+ """
487+
488+
489+
482490
483491 self ._sock .send (pub_hdr_fixed )
484492 self ._sock .send (pub_hdr_var )
493+ # UP TO HERE!!
485494 self ._send_str (topic )
486- self ._sock .send (b"\0 \0 " )
487- self ._sock .send (msg )
495+ # self._sock.send(msg)
488496
489497 def subscribe (self , topic , qos = 0 ):
490498 """Subscribes to a topic on the MQTT Broker.
@@ -813,4 +821,4 @@ def set_logger_level(self, log_level):
813821 elif log_level == "ERROR" :
814822 self .logger .setLevel (logging .CRITICIAL )
815823 else :
816- raise MMQTTException ("Incorrect logging level provided!" )
824+ raise MMQTTException ("Incorrect logging level provided!" )
0 commit comments