首页 > 解决方案 > 是否有使用 QUICKFIX 库的客户端-客户端通信的开箱即用解决方案?

问题描述

我正在尝试使用 quickfix/J 构建一个完全包含的交易模拟器。该系统应该由 2 个客户端应用程序(一个市场/交易所和一个经纪人)以及一个路由器(服务器/接受者)组成。我特别想知道:

  1. 客户-客户沟通

    两个客户端如何相互通信,但服务器处理所有消息传递逻辑,即。消息应该通过服务器,它应该决定在哪里以及如何转发消息。我应该能够在 FIX 消息中传递 targetID,并且服务器应用程序应该处理到所需客户端的路由。

  2. 同一个端口上的多个客户端有多个客户端连接在同一个端口上,但消息应该只发送到特定的发件人comp Id,即。客户端不应与其他客户端进行通信。

我已经设置了接受器和 2 个客户端。我知道我可以使用普通的旧 Java 以编程方式执行此操作,但我想利用 quickfix 库并想要一个相对开箱即用的解决方案。

MVP:客户端(broker)通过acceptor(router)发送fix消息,消息被处理并转发到特定的market,market通过server接收消息并做一些业务逻辑,market通过acceptor将fix消息发送回client。

ps:我喜欢 quickfix 库,但如果您推荐任何其他库/语言,我会非常灵活

标签: quickfixfix-protocolalgorithmic-tradingquickfixjquickfixn

解决方案


简短回答:QuickFIX/J(据我所知,QuickFIX 或 quickfix/n 类似)不会基于标签路由消息。这必须在您的应用程序代码中实现。

编辑:关于你的第二点。让您的 FIX 服务器在同一端口上侦听多个 FIX 连接没有问题(这适用于 QuickFIX/J,我猜也适用于其他语言变体。)会话是通过 解决的,SessionID因此可以确保只有正确的 FIX 会话得到它的消息。


推荐阅读