回答

0

确切地说,一次显然是不可能的。如果网络连接中断并永不恢复,该怎么办?

+1

我不确定这适用于此,因为那么至少一次也是不可能的。我认为这些语义假设某种程度的连接总是会最终恢复 - 但我可能是错的 – Mark

+0

我同意。所以,正如你所期望的那样,TCP保证最多一次。 –

2

我们可以说,TCP提供在-一次至少送恰好一个处理,关于以下定义:

  • 在-至少一次交付:TCP消息将至少一次传递到目的地。更具体地说,如果没有收到ACK(知识),它将在特定的超时时间内保持重新传输,以便它最终被传送。但是,如果其中一些重新传输没有丢失(但只是延迟),则会传送多个消息副本。
  • 准确一次处理:每个TCP消息将由目标节点处理一次。更具体地说,目的地将注意到重复的消息(检查每个收到的消息的ID)。因此,即使消息传递了两次,目标节点也只会处理它(传递给应用程序级别)一次,并忽略稍后收到的重复项。
相关问题