2016-10-28 73 views
0

当我们发送一个数据包并重新开始传输时,我们是否会发送函数? 在我的情况下,我的应用程序获得了一个锁,并等待发送返回,然后它离开锁。TCP发送函数重传逻辑?

但在我的情况下,它从来没有回来。我想知道当我们有一个重新传输的情况下,我们是否真的从发送功能中退出?

回答

2

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

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

当已发送给对等方的数据未在适当的超时间隔内得到确认时,重传开始。

重传与send()函数之间的相互作用主要包括:如果数据未被确认,它仍然在发送缓冲区中,这可能会导致函数阻塞。