0

我需要知道我们如何限制发送“重新发送请求”。我正在复制下面的日志。看来“重新发送请求”是从 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-4025=4=4080=4025=4080=1 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-4025=4=4025=4080=13801=1 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 = 060 = 20120717-16:28:40.00075 = 2012071776 = inca77777777777 = O150 = O150 = 1151 = 1151 = 10167 = 10167 = 10167 = 10167 = 12228.204000202222022022022022022022022022022022022022022022022022022022022022022022022022022022022022022022022022转=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=1120716000=0072003150=60000=102003150=00603150=2012-16=16=12 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

Thanks

4

2 回答 2

4

Usually, you will get a resend request when reconnecting after a disconnect. It is important to make sure that you haven't missed any messages.

If you want to avoid it, you need to edit the quickfix config and set ResetOnLogon Logoff and disconnect to Y. That way it will not try to resend messages each time it disconnects.

I don't think this is a particularly good idea. You could miss messages. Why is the resend request a problem for you?

于 2012-07-24T06:58:23.007 回答
3

If you want to ignore ResendRequests (i.e you don't want to resend any messages) the correct way in FIX to do this is by responding with a SequenceReset.

You can achieve this in QuickFix be overriding the toApp() method and throwing a DoNotSend exception.

QuickFix will generate the correct SequenceReset response based on the ResendRequest that was issued.

Here's an example:

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
于 2016-04-18T10:10:48.380 回答