【问题标题】:Does an ACK means all the data have been read by the receiver application in TCP?ACK 是否意味着 TCP 中的接收应用程序已读取所有数据?
【发布时间】:2014-11-02 06:39:53
【问题描述】:

在阅读有关TCP三步连接的内容时,我的脑海中突然冒出两个问题:

  1. 如果接收器中有接收窗口,当一个接收到的数据存储到窗口中或窗口已满时,是否会返回一个ACK?

  2. 发送方收到ACK后,是否表示所有发送的数据都已被接收方应用程序读取并处理完毕?

其实这两个问题有几个内在联系。感谢您提供任何有用的答案!

【问题讨论】:

  • 这不完全是一个编程问题。也许它属于networkengineering.stackexchange.com
  • 第一个问题的答案是否定的。发送 ACK 的规则有点复杂,但它们基本上是——不要对每个数据包都进行 ACK,但不要让未确认的数据包减慢数据传输速度。

标签: tcp


【解决方案1】:

没有。 ACK 仅仅意味着数据已经到达了对端的 TCP 栈。这并不表示应用程序已经读取并处理了数据。

【讨论】:

    猜你喜欢
    • 2018-07-24
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多