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

 

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

Статья представляет собой первую попытку разработать нативный MQTT-клиент для MQL5. MQTT - это протокол обмена данными по принципу "издатель - подписчик". Он легкий, открытый, простой и разработан так, чтобы его было легко внедрить. Это позволяет применять его во многих ситуациях.

Несмотря на то, что протокол должен был отличаться надежностью, быстротой и дешевизной из-за технологических ограничений и высоких сетевых затрат, от него требовалось обеспечить качественную доставку данных с непрерывным отображением данных о сеансе (session awareness), что позволяло бы ему справляться с ненадежным или даже прерывистым Интернет-соединением.

Будучи двоичным протоколом, MQTT очень эффективен с точки зрения требований к памяти и обработке. Любопытно, что самый маленький пакет MQTT размером всего в два байта!


Так как протокол работает по принципу "издатель/подписчик" (pub/sub), он, в отличие от основанных на принципе "запрос/ответ", является двунаправленным. Другими словами, как только соединение клиент/сервер установлено, данные могут передаваться от клиента к серверу и от сервера к клиенту в любое время без необходимости предварительного запроса, в отличие от HTTP WebRequest. Как только данные поступают, сервер немедленно пересылает их получателям. Эта особенность является краеугольным камнем обмена данными в реальном времени, поскольку она позволяет добиться минимальных задержек между конечными точками. Некоторые поставщики заявляют о задержке порядка миллисекунд.

Автор: Jocimar Lopes

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