QuickFixN在白天断开连接,无法重新连接

时间:2017-12-17 14:18:27

标签: quickfix quickfixn

我们使用QuickFixN发送订单以交换和接收执行报告。

如果在白天断开VPN for Exchange,则尽管将ResetOnLogonResetOnDisconnected设置设为N,QuickFixN仍无法重新连接到第二天。

我们不明白原因:序列还是其他什么?

0171217-12:15:39.122 : Created session
20171217-12:15:39.129 : Connecting to 172.16.105.151 on port 10060
20171217-12:15:39.399 : Connection succeeded
20171217-12:15:39.423 : Initiated logon request
20171217-12:15:39.680 : Session FIX.4.2:NOOR->MBS disconnecting: System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
   at QuickFix.SocketInitiatorThread.ReadSome(Byte[] buffer, Int32 timeoutMilliseconds)
   at QuickFix.SocketInitiatorThread.Read()
20171217-12:15:41.140 : Connecting to 172.16.105.151 on port 10060
20171217-12:15:41.398 : Connection succeeded
20171217-12:15:41.399 : Initiated logon request
20171217-12:15:41.654 : Session FIX.4.2:NOOR->MBS disconnecting: System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
   at QuickFix.SocketInitiatorThread.ReadSome(Byte[] buffer, Int32 timeoutMilliseconds)
   at QuickFix.SocketInitiatorThread.Read()

交换请求

20171217-12:15:39.423 : 8=FIX.4.2|9=65|35=A|34=7304|49=NOOR|52=20171217-12:15:39.415|56=MBS|98=0|108=30|10=192|
20171217-12:15:41.398 : 8=FIX.4.2|9=65|35=A|34=7305|49=NOOR|52=20171217-12:15:41.398|56=MBS|98=0|108=30|10=196|
20171217-12:15:43.397 : 8=FIX.4.2|9=65|35=A|34=7306|49=NOOR|52=20171217-12:15:43.397|56=MBS|98=0|108=30|10=198|
20171217-12:15:45.398 : 8=FIX.4.2|9=65|35=A|34=7307|49=NOOR|52=20171217-12:15:45.398|56=MBS|98=0|108=30|10=202|
20171217-12:15:47.399 : 8=FIX.4.2|9=65|35=A|34=7308|49=NOOR|52=20171217-12:15:47.399|56=MBS|98=0|108=30|10=206|
20171217-12:15:49.400 : 8=FIX.4.2|9=65|35=A|34=7309|49=NOOR|52=20171217-12:15:49.400|56=MBS|98=0|108=30|10=192|

2 个答案:

答案 0 :(得分:1)

错误意味着您的对手可能会向您发送TCP reset packet。所以看起来你正在建立连接,但是登录尝试失败了,结果就是重置数据包。

您的用户名/密码是否正确?

答案 1 :(得分:0)

首先,感谢@rupweb的重播和兴趣。第二,这个问题有两个来源:1 - 在断开客户端系统之前 - 连接到远程方 - 它必须注销。 2 - 客户端系统的可执行文件必须每次都从相同的物理位置运行。因为,Fix生成文件以保持我的设备上的序列开始另一次握手并在下次连接。