当两个端点位于同一台服务器上时,为什么FIX连接会丢弃心跳?

时间:2013-07-17 13:25:31

标签: quickfix

我们有两个使用QuickFIX引擎的应用程序,两个都在同一台机器上运行 有时我们会看到会话由于缺乏心跳而结束。

怎么可能因为两者都在同一台机器上运行?

1 个答案:

答案 0 :(得分:2)

FIX心跳机制与使用FIX协议进行通信的应用程序运行的事实无关。如果你看到由于缺乏心跳而导致会话被丢弃,那么你必须确定哪个会话没有发送心跳(它也将无法响应«Test Request»消息,如果有的话)以及为什么会发生这种情况。可能的原因是:

  • 服务器和客户端具有不同的心跳间隔设置,服务器不遵守客户端的心跳间隔(“登录”消息中的字段#108),并且测试请求/响应逻辑被破坏(或关闭)。
  • 潜在的传输错误(即TCP / IP错误或UDP数据包丢失)。
  • 其他软件/硬件错误。
  • 别的。

希望它有所帮助。祝你好运!