Discusión sobre el artículo "Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 2)"

 

Artículo publicado Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 2):

El artículo forma parte de una serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte describiremos la organización de nuestro código, los primeros archivos de encabezado y las clases, así como la escritura de las pruebas. Este artículo también incluirá notas breves sobre un desarrollo basado en las pruebas y su aplicación a este proyecto.

Crear los paquetes MQTT adecuados supone solo el primer (y más fácil) paso en el proceso de escritura de un cliente fiable y fácil de mantener. Cuando hablamos de las especificaciones de rendimiento, todas las complejidades del protocolo salen a la luz. Esta tarea necesitará de más trabajo de nuestra parte como desarrolladores. Además de enviar los paquetes correspondientes, deberemos lidiar con muchas respuestas diferentes del servidor y distintos estados de la aplicación. En este punto, los arrays de bytes codificados (o cualquier otra cosa codificada) no resultarán suficientes.

Afortunadamente, MQL5 es un lenguaje de programación orientado a objetos y no estamos trabajando en el entorno restringido de memoria/CPU para el que se diseñó originalmente MQTT, por lo que podemos aprovechar al máximo el paradigma orientado a objetos (POO) para:

  • Tomar fácilmente decisiones de protocolo eligiendo el nivel de abstracción correcto
  • Leer fácilmente código (recuerde que el código se lee muchas más veces de las que se escribe)
  • Mantener el código sin muchos problemas
  • Y realizar pruebas con facilidad

Ahora podemos ejecutar nuestro bróker Mosquitto local en WSL para verificar si nuestra conexión MQTT ha tenido éxito.

Si hemos ejecutado la instalación predeterminada, Mosquitto debería ejecutarse como un servicio en Linux. Por lo tanto, solo necesitaremos "redireccionar" los puertos (80 -> 1883) y habilitar el nombre de host para las URL permitidas en la configuración de MetaTrader 5.

Fig. 03. Registro de WSL Mosquitto sobre la conexión/desconexión exitosa

    Autor: Jocimar Lopes

    Razón de la queja: