我在 Java 中开发了一个实用程序,使用Financial Information eXchange(FIX)协议从输入流中提取数据。但是,我目前还没有找到任何可以连接到实现 FIX 协议的在线测试服务器。有人可以让我知道如何实现这一目标吗?
6 回答
http://www.quickfixj.org/有一个开源修复引擎。它带有一个具有简单服务器的示例。您可能也想为客户端使用他们的库,而不是从头开始重建 FIX 引擎......
您可以使用CoralFIX快速启动测试服务器。它负责处理所有会话级别的 FIX 消息,例如 Logon、ResendRequest、SequenceReset、Heartbeat,以便您准备好开始与客户端交换消息。下面是一个简单的例子:
import com.coralblocks.coralfix.FixMessage;
import com.coralblocks.coralreactor.client.Client;
import com.coralblocks.coralreactor.nio.NioReactor;
import com.coralblocks.coralreactor.util.Configuration;
import com.coralblocks.coralreactor.util.MapConfiguration;
public class SimpleFixApplicationServer extends FixApplicationServer {
public SimpleFixApplicationServer(NioReactor nio, int port, Configuration config) {
super(nio, port, config);
}
@Override
protected void handleFixApplicationMessage(Client client, FixMessage fixMsg, boolean possDupe) {
// do whatever you want to do with the application message received from this client...
}
public static void main(String[] args) {
NioReactor nio = NioReactor.create();
MapConfiguration config = new MapConfiguration();
// print all messages received and sent to STDOUT for debugging purposes
// (default is false)
config.add("debugMessages", "true");
// accept as the client inbound sequence whatever
// sequence I receive in the first message coming from the client
// (default is false)
config.add("acceptInboundSeqFromClient", "false");
Server server = new SimpleFixApplicationServer(nio, 45451, config);
server.open();
nio.start();
}
}
上面代码的完整解释可以在这里找到。
免责声明:我是 CoralFIX 的开发者之一。
我假设您没有在真空中构建它,而是与某些经纪人的 FIX 服务器交谈?如果是这种情况,请与您的经纪人联系,因为他们可能有您可以连接的测试服务器。
这取决于您是否需要托管或 DIY 解决方案。如果您想快速启动 FIX 会话而无需编译/构建/设置,那么我会选择托管模拟器。
我们有这些家伙的帐户http://www.fixsim.com/并会推荐他们(易于设置和添加更多连接)。
(我不为公司工作,对此无话可说)
您可以尝试在此处搜索更多信息:http: //fixprotocol.org/discuss/
我为经纪人工作,非常欢迎您连接到我们的 Staging FIX 服务器。我不知道周围有任何匿名服务器,也许这是 FIX 社区可以设置的东西。
干杯,克里斯