首页 > 解决方案 > Quickfixn Fix 4.2 如何在同一会话中向不同的 TargetCompID 发送和接收消息

问题描述

如何在同一会话中向不同的 TargetCompID 发送和接收修复消息

public void ToAdmin(Message message, SessionID sessionID)
{
if ( (message.ToString().IndexOf("35=D") > 0) || (message.ToString().IndexOf("35=G") > 0) || (message.ToString().IndexOf("35=F") > 0))
{            message.Header.SetField(new TargetCompID("1"));
}
}

9:56:38 ToApp: 8=FIX.4.2�9=261�35=D�34=63�49=555�50=BBBBBB�52=20180918-06:56:38�56=0�128=1 �129=AAAAAA�1=555-----126�11=1�21=1�22=4�38=2500�40=2�44=0.03�47=C�48=JO3109211016�54=2 �55=JO3109211016�58=测试固定连接器�59=1�60=20180918-09:56:38.579�109=126�110=50�111=100�9596=2�9947=55500350�10=140�9 :56:38 交换:8=FIX.4.2�9=115�35=3�34=73�49=0�50=AAAAAA�52=20180918-09:56:38�56=555�45=63� 58=无法处理订单:TargetCompID 无效。372=D�10=067。</p>

标签: c#quickfixfix-protocolquickfixn

解决方案


TargetCompID 是 Session 标识符的一部分,参见http://quickfixn.org/tutorial/configuration.html

FIX 会话在 QuickFix/N 中定义为 BeginString(FIX 版本号)、SenderCompID(您的 ID)和 TargetCompID(您的交易对手的 ID)的唯一组合。

TargetCompID所以在同一个会话中尝试向不同的人发送消息似乎是不正确的;您需要为每个TargetCompID.

最简单的是在配置文件中定义会话(见上面的链接);或者,您可以动态创建它们 - 请参阅http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/2016q1/000277.html


推荐阅读