Diskussion zum Artikel "Entwicklung eines MQTT-Clients für Metatrader 5: ein TDD-Ansatz - Teil 5"

 

Neuer Artikel Entwicklung eines MQTT-Clients für Metatrader 5: ein TDD-Ansatz - Teil 5 :

Dieser Artikel ist der fünfte Teil einer Serie, die unsere Entwicklungsschritte für einen nativen MQL5-Client für das MQTT 5.0-Protokoll beschreibt. In diesem Teil beschreiben wir die Struktur von PUBLISH-Paketen, wie wir ihre Publish Flags setzen, Topic Name(s) Strings kodieren und Packet Identifier(s) setzen, falls erforderlich.

MQTT ist ein Pub/Sub-Nachrichtenaustauschprotokoll. Wir können also davon ausgehen, dass der Schwerpunkt auf PUBLISH- und SUBSCRIBE-Paketen liegt. Alle anderen Pakettypen gibt es, um sie zu erreichen.

Wir müssen nicht nur in der Lage sein, PUBLISH-Pakete zu schreiben, sondern auch, sie zu lesen, da die Nachrichten, die unser Client von anderen Clients erhält, ebenfalls PUBLISH-Pakete sind. Das liegt daran, dass das Übertragungsprotokoll symmetrisch ist.

PUBLISH-Pakete haben einen anderen festen Header mit Publish Flags und einen variablen Header mit einem erforderlichen Topic Name, kodiert als UFT-8-String, und einem erforderlichen Packet Identifier (wenn QoS > 0). Darüber hinaus kann es fast alle Eigenschaften und Nutzereigenschaften verwenden, die in MQTT 5.0 eingeführt wurden, einschließlich der Eigenschaften, die sich auf den Request/Response-Interaktionsmodus beziehen.

In diesem Artikel sehen wir uns die Struktur der Header an und wie wir die Publish Flags, den/die Topic Name(s) und den/die Packet Identifier testen und implementieren. 

Autor: Jocimar Lopes

Grund der Beschwerde: