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

 

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

Dieser Artikel ist Teil einer Serie, die unsere Entwicklungsschritte für einen nativen MQL5-Client für das MQTT-Protokoll beschreibt. In diesem Teil beschreiben wir unsere Code-Organisation, die ersten Header-Dateien und Klassen, und wie wir unsere Tests schreiben. Dieser Artikel enthält auch kurze Hinweise auf die Praxis der testgetriebenen Entwicklung und wie wir sie in diesem Projekt anwenden.

Die Erstellung konformer MQTT-Pakete ist nur der erste Schritt bei der Entwicklung eines robusten und wartbaren Clients. Der einfachste Teil, wie man so schön sagt. Wenn es um die Spezifikation des Betriebsverhaltens geht, werden alle Komplexitäten des Protokolls deutlich. Diese Komplexität wird uns als Entwickler mehr abverlangen. Neben dem Versenden guter Pakete müssen wir uns mit einer großen Anzahl unterschiedlicher Serverantworten und unterschiedlichen Anwendungszuständen auseinandersetzen. An diesem Punkt reichen hartkodierte Byte-Arrays – oder überhaupt alles Hartkodierte – nicht mehr aus.

Glücklicherweise ist MQL5 eine objektorientierte Programmiersprache und wir arbeiten nicht in der speicher- und rechenintensiven Umgebung, für die MQTT ursprünglich entwickelt wurde. So können wir alle Vorteile des objektorientierten Paradigmas (OOP) nutzen, um zu haben:

  • Einfache Argumentation über das Protokoll durch Wahl der richtigen Abstraktionsebene.
  • Einfaches Lesen des Codes (denken Sie daran, dass der Code viel öfter gelesen als geschrieben wird).
  • Einfache Code-Wartung.
  • Und einfache Prüfung.

Jetzt können wir unseren lokalen Mosquitto-Broker auf der WSL ausführen, um zu prüfen, ob unsere MQTT-Verbindung erfolgreich war.

Wenn Sie die Standardinstallation befolgt haben, sollte Mosquito als Dienst unter Linux laufen. Sie müssen also nur die Ports umleiten (80 → 1883) und den Hostnamen in die zulässigen URLs in Ihren Metatrader 5-Optionen aufnehmen.

Abb. 03 - WSL Mosquitto Log Verbunden/Trennend Erfolg

Autor: Jocimar Lopes