如何在QuickFix中释放TCP缓冲区?

时间:2011-10-13 20:52:28

标签: .net tcp quickfix

订阅MarketDataRequest后,我可以暂时收到报价。但过了一个小时左右,价格流就下降了。经纪人支持对该问题的回应是:

  

我们断开了客户端,因为我们无法将更新推送到   客户端作为他们的TCP缓冲区已满 - 这可能是由于网络   丢弃或应用程序停止消耗他们的一方和他们的接收   缓冲区已满,并停止发送TCP确认。

如何在QuickFix中释放TCP缓冲区?

(使用QuickFix.NET v4.2)

1 个答案:

答案 0 :(得分:1)

你误解了他们对你问题的分析。他们试图告诉您的是,他们发现TCP连接的结束是因为其(操作系统或网卡)缓冲区已满而无法接收其他数据。这意味着他们发送的速度比您收到的速度快。也可能是您的网络连接不稳定,或者被您的某个提供商限制(特别是如果您通过互联网或任何无法保证带宽的线路这样做)。

要自己分析问题,您可以使用Wireshark之​​类的工具来观察终端上的网络连接,并观察即将发生的数据包以及可能在TCP级别产生的负面影响。

也许你的代码太慢了,或者它可能在一段时间后被卡住并且无法处理新消息。你观察到了什么?