Quickfixn Fix 4.2如何在同一会话中向不同的TargetCompID发送和接收消息

时间:2018-09-18 10:02:22

标签: c# quickfix fix-protocol quickfixn

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

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=测试中   固定   Connec.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。

1 个答案:

答案 0 :(得分:1)

TargetCompID是会话标识符的一部分,请参见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