如何在QuickFix中关闭并重新打开TCP连接

时间:2013-05-08 22:03:18

标签: tcp quickfix

使用QuickFixN,如果我重新启动我的交易应用程序,我偶尔无法登录,得到“现有连接被远程主机强行关闭”错误。 QuickFix引擎重试每30秒连接一次,但始终会出现相同的错误。 如果我关闭我的应用程序并重新打开,它将正确连接。

对我的经纪人说,似乎他们拒绝我的登录,因为他们没有认出我的连接是第一次关闭。第二次,我强迫应用程序关闭将拆除TCP连接,这意味着第三次登录工作。

所以我的问题是:有没有办法在不重新启动应用程序的情况下关闭并重新打开TCP连接?

1 个答案:

答案 0 :(得分:3)

听起来这个问题很有意思。由于问题发生在您没有正式注销时(例如崩溃或异常终止),这意味着它们的实现显然无法识别TCP终止。

在高于TCP层的情况下,他们的FIX引擎应该有所补偿。如果在断开连接后出现一些心跳持续时间,那么它们的实现 应该意识到你不再存在,因为你没有响应心跳。

因此,他们的低层TCP处理程序和他们的FIX引擎都无法在系统中的某个位置设置正确的标记,表示您已脱机。那真是怪了。我没有看到你能做些什么,除了故意做一个启动/关机以便为你克服状态标志。

我通常会非常犹豫责备另一方(特别是因为我运行 QF / n项目),但这就是我所处理的信息。