我确实看到过这个问题,但我还没有回答。 有没有办法重播quickfix日志文件?我的应用程序启动了会话,接收数据,quickfix记录数据,我的应用程序崩溃。当我重新启动时,我希望简单地重播日志文件中的所有内容。可以这样做吗?
如果没有,是否有人举例说明如何以编程方式请求重新发送所有会话消息或将接收seq#重置为1? 任何帮助将不胜感激。
答案 0 :(得分:3)
不,不是真的。
FIX是一种双向通信协议。你不能只是“重播”一方;这真的没有意义。
这就像是说你希望爱丽丝重新开始与鲍勃的谈话,但爱丽丝必须从她之前所说的记录中读出她的台词。你不能保证鲍勃会说出他之前所说的话,鲍勃可能会感到困惑。
现在,如果你正在谈论某种测试工具,那么一方是“播放”预定的数据......好吧,你应该在你的问题中更具体。也就是说,QuickFIX没有提供做这样的事情的功能,并没有真正适合这样做。您最好编写一个将这些消息写入原始套接字的独立工具。 (我的公司实际上已经编写了这样一个测试工具。)
关于序列号,请检查“ResetOn<XXX>
”配置设置。您可能想要ResetOnLogon等。 (确保您的发起人的seq#政策与您的对方的政策相同,否则您将遇到问题。)
如果您认为必须以编程方式重置序列号,那么您可能做错了。 QF邮件列表上的四年教会了我这一点。我从未见过有人合法地需要这样做。
答案 1 :(得分:1)
确保配置文件中的设置设置为不在登录时重置。在崩溃后重新连接时,您将自动重新发送所有错过的消息。