0

我想知道如果 TcpClient 发生任何事情并且从未收到或 ack 从未返回给客户端,TcpClient 是否会重新传输数据包?我正在考虑执行以下操作,但我不确定它是否无用?

if(data.length != reply.length){
    NetworkStream str = client.GetStream();
    str.Write(data, 0, data.Length);
}
4

1 回答 1

1

我想知道如果 TcpClient 发生任何事情,TcpClient 是否会重新传输数据包

了解这个问题需要有两个部分的答案。

  1. TcpClient 不负责重传数据包,所以直接回答是否定的。
  2. 在某些情况下是否会重新传输数据包,导致数据包无法到达目的地或在到达目的地时被破坏;是的,因为这是 TCP 堆栈的工作(通常是操作系统,在这种情况下不是 TcpClient)。
于 2013-09-16T21:48:50.567 回答