作为我们将在本章中开发的一个端到端的演示项目,我们将采用一个简单但同时技术相当先进的产品:一个客户机-服务器复制交易系统。客户端部分将是 MQL 程序,它使用 套接字 技术。考虑到 MQL5 只允许使用客户机套接字,因此需要为套接字服务器选择一个替代平台(下面将详细介绍)。因此,该项目将需要几种不同技术的共生,并使用我们已经学习过的多个 MQL5 API,包括在它们的基础上开发的应用程序代码。
由于基于套接字的客户端-服务器架构,该系统可用于不同的场景:
在所有情况下,客户端程序将扮演两个角色:数据的发布者(发布者、发送者)和订阅者(接收者)。
我们不会发明自己的网络协议,而是使用现有的流行的 WebSocket 标准。他们的客户端实现内置于所有浏览器中,我们需要在 MQL5 中重复这一实现(不同程度的完整性)。当然,WebSocket 支持也适用于大多数流行的 Web 服务器。因此,在任何情况下,我们的开发不仅可以适用于其他服务器(如果其他人适合的话),还可以与提供类似 Web 服务的知名网站集成。这里的要点是严格遵循他们的 API 规范(建立在 WebSocket 之上)。
开发比一个独立程序更复杂的软件系统时,重要的是要制定一个行动计划,甚至可能要设计一个技术项目,包括模块的结构、它们的相互作用以及编码的顺序。
因此,我们的计划包括:
但是在我们开始实施这个计划之前,我们需要安装一个 Web 服务器。