文章 "为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式 - 第2部分"

 

新文章 为 MetaTrader 5 开发一款 MQTT 客户端:TDD 方式 - 第2部分已发布:

本文是描述 MQTT 协议的本机MQL5客户端开发步骤系列文章的一部分。在这一部分中,我们将描述我们的代码组织、第一个头文件和类,以及我们如何编写测试。本文还包括关于测试驱动开发实践以及我们如何将其应用于该项目的简要说明。

构建一致的MQTT数据包只是编写健壮和可维护的客户端过程中的第一步,可以说是最简单的部分。当涉及到操作行为规范时,协议的所有复杂性都会显现出来。这种复杂性将要求我们作为开发人员承担更多的工作。除了发送好的数据包,我们还需要处理大量不同的服务器响应和不同的应用程序状态。在这一点上,硬编码的字节数组——或者任何硬编码的东西——都是不够的。

幸运的是,MQL5是一种面向对象的编程语言,我们不在MQTT最初设计的内存/CPU约束环境中工作。因此,我们可以利用面向对象(OOP)范式的所有好处,以实现:

  • 通过选择正确的抽象级别,轻松推理协议
  • 简单的代码读取(请记住,读取代码的次数比写入的次数多得多)
  • 简单的代码维护,
  • 以及简单的测试

现在,我们可以在WSL上运行Mosquitto本地代理,以检查我们的MQTT连接是否成功。

如果按照默认安装,Mosquito应该在Linux上作为服务运行。因此,您只需要“重拨”端口(80→ 1883),并在Metatrader 5选项中包含允许的URL上的主机名。

图03 - WSL Mosquitto 日志连接/断开连接成功


    作者:Jocimar Lopes

    原因: