Обсуждение статьи "Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)"

 

Опубликована статья Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2):

Статья является частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT. В этой части мы описываем организацию нашего кода, первые заголовочные файлы и классы, а также написание тестов. В эту статью также включены краткие заметки о разработке через тестирование (Test-Driven-Development) и о ее применении в этом проекте.

Создание соответствующих пакетов MQTT — это только первый (и самый легкий) шаг в процессе написания надежного и удобного в обслуживании клиента. Когда дело доходит до спецификации рабочих характеристик, всплывают все сложности протокола. Эта задача потребует от нас большей работы как разработчиков. Помимо отправки подходящих пакетов, нам придется иметь дело с большим количеством различных ответов сервера и различными состояниями приложений. На этом этапе жестко закодированных байтовых массивов (или чего-либо еще, запрограммированного в данном случае) будет недостаточно.

К счастью, MQL5 является объектно-ориентированным языком программирования, и мы не работаем в среде с ограничениями по памяти/процессору, для которых MQTT изначально был разработан. Таким образом, мы можем использовать все преимущества объектно-ориентированной (ООП) парадигмы, чтобы:

  • Легко принимать решения по протоколу за счет выбора правильного уровня абстракции
  • Легко читать код (помните, что код читается гораздо больше раз, чем пишется)
  • Обслуживать код без особых затруднений
  • И легко тестировать


Теперь мы можем запустить нашего локального брокера Mosquitto на WSL, чтобы проверить, было ли наше MQTT-соединение успешным.

Если вы выполнили установку по умолчанию, Mosquito должен работать в Linux как служба. Таким образом, вам нужно только "перенаправить" (redir) порты (80 → 1883) и включить имя хоста для разрешенных URL-адресов в настройках MetaTrader 5.

Рис. 03. Журнал WSL Mosquitto об успешном подключении/отключении

    Автор: Jocimar Lopes

    Причина обращения: