QuickFix如何不发送重发请求?

时间:2012-07-24 05:44:33

标签: quickfix

我需要知道如何限制发送“重新发送请求”。我正在复制下面的日志。似乎“重新发送请求”是从QuickFixEngine dll发送的,因为我们还没有编写任何用于启动重发请求的代码。请帮我解决如何限制重发请求。此外,似乎MsgSeqNum的顺序正确。非常感谢您的帮助。

8 = FIX.4.29 = 5735 = 034 = 9949 = UATENV52 = 20120717-16:31:28.29656 = TRDUAT10 = 243

8 = FIX.4.29 = 5835 = 049 = TRDUAT56 = UATENV52 = 20120717-16:28:34.24834 = 11910 = 029

8 = FIX.4.29 = 37635 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.00434 = 12050 = CBOEO57 = Test_Trader37 = 1120716000006003150 = 139 = 120 = 060 = 20120717-16:28:40.00040 = 254 = 138 = 10442 = 2654 = 1167 = OPT55 = IBM44 = -0.5077 = O202 = 180.00201 = 1200 = 201207205 = 2121 = 359 = 01 = TestAcct10115 = USD14 = 56 = 0.50198 = 12280400019882 = N17 = 071710150000128151 = 576 = INCA30 = CBOE75 = 2012071732 = 531 = 0.5011 = 82184825010 = 144 8 = FIX.4.29 = 37935 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.00534 = 12150 = CBOEO57 = Test_Trader37 = 1120716000006004150 = 139 = 120 = 060 = 20120717-16:28:40.00040 = 254 = 238 = 20442 = 2654 = 2167 = OPT55 = IBM44 = -0.5077 = O202 = 185.00201 = 1200 = 201207205 = 2121 = 359 = 01 = TestAcct10115 = USD14 = 106 = 0.50198 = 12280400019882 = N17 = 071720150000129151 = 1076 = INCA30 = CBOE75 = 2012071732 = 1031 = 0.5011 = 82184825010 = 036

8 = FIX.4.29 = 6935 = 234 = 10049 = UATENV52 = 20120717-16:31:35.50056 = TRDUAT 7 = 120 * 16 = 0 * 10 = 230

8 = FIX.4.29 = 37635 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.00534 = 12250 = CBOEO57 = Test_Trader37 = 1120716000006005150 = 139 = 120 = 060 = 20120717-16:28:40.00040 = 254 = 138 = 10442 = 2654 = 3167 = OPT55 = IBM44 = -0.5077 = O202 = 190.00201 = 1200 = 201207205 = 2121 = 359 = 01 = TestAcct10115 = USD14 = 56 = 0.50198 = 12280400019882 = N17 = 071710150000130151 = 576 = INCA30 = CBOE75 = 2012071732 = 531 = 0.5011 = 82184825010 = 145

8 = FIX.4.29 = 37935 = 834 = 12149 = TRDUAT50 = CBOEO52 = 20120717-16:28:41.00556 = UATENV57 = Test_Trader1 = TestAcct1016 = 0.5011 = 82184825014 = 1015 = USD17 = 07172015000012920 = 021 = 330 = CBOE31 = 0.5032 = 1037 = 112071600000600438 = 2039 = 140 = 244 = -0.5054 = 255 = IBM59 = 060 = 20120717-16:28:40.00075 = 2012071776 = INCA77 =Ø150= 1151 = 10167 = OPT198 = 1228040001200 = 201207201 = 1202 = 185.00205 = 21442 = 2654 = 29882 = N10 = 036

8 = FIX.4.29 = 37635 = 834 = 12249 = TRDUAT50 = CBOEO52 = 20120717-16:28:41.00556 = UATENV57 = Test_Trader1 = TestAcct1016 = 0.5011 = 82184825014 = 515 = USD17 = 07171015000013020 = 021 = 330 = CBOE31 = 0.5032 = 537 = 112071600000600538 = 1039 = 140 = 244 = -0.5054 = 155 = IBM59 = 060 = 20120717-16:28:40.00075 = 2012071776 = INCA77 =Ø150= 1151 = 5167 = OPT198 = 1228040001200 = 201207201 = 1202 = 190.00205 = 21442 = 2654 = 39882 = N10 = 145

8 = FIX.4.29 = 40735 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.444122 = 20120717-16:28:41.00443 = Y34 = 12050 = CBOEO57 = Test_Trader37 = 1120716000006003150 = 139 = 120 = 060 = 20120717 -16:28:40.00040 = 254 = 138 = 10442 = 2654 = 1167 = OPT55 = IBM44 = -0.5077 = O202 = 180.00201 = 1200 = 201207205 = 2121 = 359 = 01 = TestAcct10115 = USD14 = 56 = 0.50198 = 12280400019882 = N17 = 071710150000128151 = 576 = INCA30 = CBOE75 = 2012071732 = 531 = 0.5011 = 82184825010 = 145

8 = FIX.4.29 = 41035 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.444122 = 20120717-16:28:41.00543 = Y34 = 12150 = CBOEO57 = Test_Trader37 = 1120716000006004150 = 139 = 120 = 060 = 20120717 -16:28:40.00040 = 254 = 238 = 20442 = 2654 = 2167 = OPT55 = IBM44 = -0.5077 = O202 = 185.00201 = 1200 = 201207205 = 2121 = 359 = 01 = TestAcct10115 = USD14 = 106 = 0.50198 = 12280400019882 = N17 = 071720150000129151 = 1076 = INCA30 = CBOE75 = 2012071732 = 1031 = 0.5011 = 82184825010 = 028

8 = FIX.4.29 = 40735 = 849 = TRDUAT56 = UATENV52 = 20120717-16:28:41.444122 = 20120717-16:28:41.005

由于

2 个答案:

答案 0 :(得分:4)

通常,在断开连接后重新连接时,您将收到重新发送请求。确保您没有遗漏和留言非常重要。如果你想避免它,你需要编辑quickfix config并设置ResetOnLogon Logoff并断开连接到Y.这样它就不会在每次断开连接时尝试重新发送消息。我不认为这是一个特别好的主意。你可能会错过消息。为什么重发请求对你有用?

答案 1 :(得分:3)

如果你想忽略ResendRequests(即你不想重发任何消息),在FIX中正确的方法就是用SequenceReset响应。

您可以在QuickFix中实现此目的,重写toApp()方法并抛出DoNotSend例外。

QuickFix将根据已发出的ResendRequest生成正确的SequenceReset响应。

以下是一个例子:

8=FIX.4.29=9135=234=349=MY-INITIATOR-SERVICE52=20160418-09:11:20.69456=MY-ACCEPTOR-SERVICE7=216=510=133
8=FIX.4.29=12435=434=243=Y49=MY-ACCEPTOR-SERVICE52=20160418-09:11:20.69756=MY-INITIATOR-SERVICE122=20160418-09:11:20.69736=2123=Y10=068