使用 python quickfix 包,如何发送 TestRequest 消息?

Using the python quickfix package, how can I send a TestRequest message?

我与供应商建立了 FIX 连接,我们每三十秒发送一次心跳。但是,由于他们的系统设置,他们以不同的时间间隔向我发送 TestRequests (35=1) 以及心跳。我从来不需要处理这些,quickfix 包将它们解释为心跳。但是,这导致他们的系统将我注销。

我第一次登录时的消息示例如下:

2017-09-05 11:50:47,769 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=78|35=A|34=1|49=***|52=20170905-15:50:47.763|56=XXX|98=0|108=30|141=Y|10=111|

2017-09-05 11:50:48,361 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=77|35=A|34=1|43=N|49=XXX|52=20170905-15:50:55.062|56=***|98=0|108=30|10=043|

2017-09-05 11:50:48,421 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=89|35=1|34=2|43=N|49=XXX|52=20170905-15:50:55.119|56=***|112=05/09/2017-11:50:55|10=163|

2017-09-05 11:50:48,437 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=84|35=0|34=2|49=***|52=20170905-15:50:48.428|56=XXX|112=05/09/2017-11:50:55|10=175|

2017-09-05 11:51:18,644 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=65|35=0|34=3|43=N|49=XXX|52=20170905-15:51:25.341|56=***|10=254|

2017-09-05 11:51:18,657 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=60|35=0|34=3|49=***|52=20170905-15:51:18.649|56=XXX|10=019|

我已经搜索了一种专门使用 quickfix 包发送 TestRequest 的方法,但没有找到任何东西。有人可以指出我正确的方向或提供一个例子吗?非常感谢。

试试这段用 C# 编写的简单代码。请与您的供应商核实要正确发送的数据(在我的示例中为 "test")。

sessionId是你和对方之间带参数的Session对象

public void SendTestRequestMessage() {
        QuickFix42.TestRequest req = new QuickFix42.TestRequest();
        req.set(new TestReqID("test"));
        Session.sendToTarget(req, sessionId);

    }