5

我听说它说提供一次性交付几乎是不可能的。同时,据说 TCP 提供有保证的交付。如果 TCP 不提供完全一次保证交付,那么它提供最多一次或至少一次

4

2 回答 2

12

我们可以说 TCP 提供了至少一次交付精确一次处理,关于以下定义:

  • 至少一次传递:一条 TCP 消息将至少传递一次到目的地。更具体地说,如果没有收到 ACK(知识),它将在特定的超时时间内继续重新传输,以便最终交付。但是,如果这些重传中的一些没有丢失(只是延迟了),那么将传递多个消息副本。
  • Exactly-once processing:每个 TCP 消息将由目标节点只处理一次。更具体地说,目的地将注意重复消息(检查每个接收到的消息的 ID)。因此,即使一条消息被传递了两次,目标节点也只会处理一次(将其传递给应用程序级别)并忽略稍后收到的重复消息。
于 2016-09-15T18:38:19.460 回答
0

仅仅一次显然是不可能的。如果网络连接被切断并且永远无法恢复怎么办?

于 2016-08-04T18:25:33.150 回答