2

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.

4

2 に答える 2

3

いいえ、そうではありません。

FIX は双方向通信プロトコルです。片側だけを「再生」することはできません。それは本当に意味がありません。

これは、アリスにボブとの会話を再開してほしいと言っているようなものですが、アリスは以前に話した内容のトランスクリプトから彼女のセリフを読まなければなりません。ボブが前に言ったことをボブが言う保証はなく、ボブは単に混乱しているかもしれません。

さて、一方が事前に決められたデータを「再生」しているある種のテストツールについて話している場合は、質問をより具体的にする必要があります。とは言うものの、QuickFIX はそのようなことを行うための機能を提供していません。これらのメッセージを raw ソケットに書き込むスタンドアロン ツールを作成する方がよいでしょう。(私の会社は実際にそのようなテスト ツールを作成しました。)

シーケンス番号については、" ResetOn<XXX>" 構成設定を確認してください。おそらく、ResetOnLogon などが必要です。(イニシエータの seq# ポリシーがカウンターパーティのものと同じであることを確認してください。そうしないと、問題が発生します。)

プログラムでシーケンス番号をリセットする必要があると思われる場合は、おそらく何か問題があります。QF メーリング リストでの 4 年間が、私にこのことを教えてくれました。合法的にこれを行う必要がある人を見たことがありません。

于 2012-10-31T20:39:57.597 に答える
1

構成ファイルの設定が、ログオン時にリセットされないように設定されていることを確認してください。クラッシュ後に再接続すると、見逃したすべてのメッセージが自動的に再送信されます。

于 2012-10-31T14:45:48.167 に答える