1

私たちのシステムは、切断/接続が失われた後、接続が回復するとすぐに相手に送信する必要があるいくつかのメッセージ (たとえば、一方的なキャンセル) を生成します。

問題は、 でそれらの送信をトリガーすることonLogon()ですが、再送信要求が早すぎて、送信するメッセージが多すぎる (数百) ときに問題が発生した場合 (相手側での の実装方法が原因である可能性があります)。

来ない可能性があり、単に待つだけではそれを理解することは不可能であることは承知してResendRequestいますが、QuickFIX/J を使用してメッセージをできるだけ早く送信するための最良のアプローチは何でしょうか。ただし、シーケンス番号が同期された後ですか?

編集: FIX 4.2 を使用してこれを解決しようとしています。FIX 4.4 では、実際にhttp://www.onixs.biz/fix-dictionary/4.4/tagNum_789.htmlが導入されました。これにより、問題が解決されます (相手がこのオプションのタグも送信する限り)。

ありがとう

4

1 に答える 1

0

私の 10 セントは、1 回で 2 つのシナリオを処理しようとしているように聞こえますが、それは難しいことです。一度に 1 つのことを行います。たとえば、切断の原因がネットワークである場合、切断されたことをクライアントが認識する前に、クライアントは再送信要求を送信しますよね? 一方、クライアントが切断されたが、あなたが切断しなかった場合、クライアントが再接続したときにギャップが埋められます。シナリオを注意深く見る必要があります。はい、再送信要求がまったく来ない可能性があります。それはすべて、クライアントが自分の側でどのように構成するかによって異なります。おそらく、この質問に従って、実際に送信しようとしているメッセージは引用符であるため、シーケンスのリセットを送信したいと思いますよね? つまり、ディスコの後にどのようなメッセージを再送信しようとしているのですか?

于 2016-03-21T10:08:35.710 に答える