TCP发送功能重传逻辑?

时间:2016-10-28 11:14:55

标签: tcp send

当我们发送数据包并重新启动时,我们是否会发出发送功能? 在我的情况下,我的应用程序采取锁定并等待发送返回,然后它离开锁。

但在我的情景中它永远不会回来。我想知道,当我们有一个传输案例时,我们真的从发送功能出来了吗?

1 个答案:

答案 0 :(得分:2)

send函数将数据传输到套接字发送缓冲区,在没有足够空间的情况下阻塞。

确认后,数据将从套接字发送缓冲区中删除。

当在相应的超时间隔内未发送已发送给对等方的数据时,重新开始。

重传和send()函数之间的交互基本上包括:如果数据尚未被确认,它仍然在发送缓冲区中,这可能导致send()函数阻塞