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

Is there an out of the box solution for Client-Client communication using the QUICKFIX library?

我正在尝试使用 quickfix/J 构建一个 完全包含的交易模拟器。该系统应该由 2 个客户端应用程序(一个 market/exchange 和一个代理)以及一个路由器(server/acceptor)组成。我特别想知道:

  1. 客户-客户沟通

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

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

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

MVP:客户端(经纪人)通过接受者(路由器)发送修复消息,消息被处理并转发到特定市场,市场通过服务器接收消息并执行一些业务逻辑,市场发送修复消息通过接受器返回给客户端。

ps:我喜欢 quickfix 库,但如果有任何其他 library/languages 您推荐

,我会非常灵活

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

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