Windows 7的TCP套接字几分钟没有响应,即使wireshark显示数据



我有一个奇怪的TCP套接字发生,我根本不知道如何解决。

  1. 我发送一个简单的Http请求,相机应该流元数据。
  2. 相机发送一个Http报头回复,然后开始以分块模式发送数据(它永远不会结束)。

奇怪的是,它需要大约7分钟,直到程序收到任何通知,有可用的数据。从那时起,它看起来就正常工作了。

现在我正在通过Wireshark监控数据流,数据正在正常传输,没有任何延迟。

我尝试过Qt 5.1和Boost 1.55,它的行为是相同的,所以我假设Windows正在做某种缓冲。我还设置了m_Socket_pStream->setSocketOption(QAbstractSocket::LowDelayOption, 1)在Qt中,没有任何区别。

现在的问题是,我需要实时的数据(好+-0.5秒),而不是在7分钟后。

有人经历过这样的事情吗?

致以最亲切的问候沃尔德

经过一番搜索和挖掘,我找到了解释。

1. Process Monitor showed that there are a lot of
   TCP Copy operations being executed.
2. After some net searching I came across a forum where TCP Copy was
   discussed in case of antivirus Http verification.

现在很清楚了。由于这是一个Http流,它是反病毒验证的一部分。现在,一段时间后/'可能大小'防病毒软件放弃等待流的结束(因为没有很多10MB的病毒在那里),它转发数据包。

希望对大家有所帮助。

Br沃尔德

相关内容

  • 没有找到相关文章

最新更新