【问题标题】:Delay between TCP ACK and next packetTCP ACK 和下一个数据包之间的延迟
【发布时间】:2014-07-20 20:09:24
【问题描述】:

我有一个带有文件上传功能的简单 HTML 表单

<form action="...." enctype="multipart/form-data" method="post">
<input type="file" name="d">
<input type="submit" value="Send">
</form>

我注意到使用wireshark 进行上传和调试时出现奇怪的延迟。第一个数据包的 ACK 与发送第二个数据包之间有一个奇怪的 2 秒延迟。 知道为什么会这样吗?

【问题讨论】:

    标签: tcp ip tcpclient


    【解决方案1】:

    这是由应用程序而不是 TCP 堆栈引入的延迟。您可以看到应用程序最初推送了长度为 577 的数据,可能是一个 http 标头并在近 200 毫秒后收到了一个 ACK​​,这等于 TCP 延迟的 ACK 超时并且它绝对没问题。之后 2 秒是应用程序从系统读取文件所花费的延迟。读取文件后,您可以看到它发送了更大的数据块,填充了整个 TCP 段长度,即 1514。 您需要检查文件系统或应用程序读取文件的方式实际导致延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2017-10-02
      相关资源
      最近更新 更多