如何重播quickfix日志 [英] how to replay a quickfix log

查看:245
本文介绍了如何重播quickfix日志的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我确实看到这个已经被问过,但我还没有看到答案。
有没有办法重播quickfix日志文件?我的应用程序启动会话,接收数据,quickfix记录数据,我的应用程序崩溃。当我重新启动我想简单地重播日志文件中的一切。可以这样做吗?



或者,如果没有,有没有一个例子,如何编程请求重新发送所有会话消息或将接收seq#重置为1?

解决方案

$ b

FIX是一种双向通信协议。你不能只是重放一边;



这就像说要让Alice重新开始与Bob的对话,但是Alice必须从她之前说的话。你不能保证鲍勃会说他以前说的话,鲍勃可能会感到困惑。



现在,如果你在谈论某种测试工具,一边是播放预定的数据...好,你应该更具体的你的问题。也就是说,QuickFIX不提供这样的事情的功能,并不真正有助于这样做。你最好写一个独立的工具,把这些消息写入一个原始的套接字。



关于序列号,请检查 ResetOn< XXX> 配置设置。你可能想要ResetOnLogon或类似的。 (确保您的启动器的seq#策略与您的交易对手相同,否则您会遇到问题。)



如果您认为您必须以编程方式重置序列号,可能是做错了。四年的QF邮件列表教我这个。我从来没有见过任何人合理地需要这样做。


I do see that this has been asked before, but I see no answer as yet. Is there a way to replay a quickfix log file? My app initiated the session, receives data, quickfix logs the data, my app crashes. When I restart I want to simple replay everything in the log file. Can that be done?

Or if not, does anyone have an example of how to programatically request a resend of all session messages or of resetting the receive seq# to 1? Any help would be appreciated.

解决方案

No, not really.

FIX is a two-way communication protocol. You can't just "replay" one side; that doesn't really make sense.

That's like saying you want Alice to restart a conversation with Bob, but Alice must read her lines from a transcript of what she said before. You have no guarantee that Bob will say what he said before, and Bob might just be confused.

Now, if you're talking about some kind of test tool, where one side is "playing" data that is predetermined... well, you should be more specific in your question. That said, QuickFIX provides no feature for doing such a thing, and doesn't really lend itself to doing that. You'd be better off writing a standalone tool that writes those messages to a raw socket. (My firm has actually written such a test tool.)

Regarding sequence numbers, check the "ResetOn<XXX>" configuration settings. You probably want ResetOnLogon or the like. (Make sure your initiator's seq# policy is the same as your counterparty's, or you will have problems.)

If you think you have to programmatically reset your sequence number, you are probably doing something wrong. Four years on the QF mailing lists have taught me this. I've never seen anyone legitimately need to do this.

这篇关于如何重播quickfix日志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆