当我们发送数据包并重新启动时,我们是否会发出发送功能? 在我的情况下,我的应用程序采取锁定并等待发送返回,然后它离开锁。
但在我的情景中它永远不会回来。我想知道,当我们有一个传输案例时,我们真的从发送功能出来了吗?
答案 0 :(得分:2)
send函数将数据传输到套接字发送缓冲区,在没有足够空间的情况下阻塞。
确认后,数据将从套接字发送缓冲区中删除。
当在相应的超时间隔内未发送已发送给对等方的数据时,重新开始。
重传和send()
函数之间的交互基本上包括:如果数据尚未被确认,它仍然在发送缓冲区中,这可能导致send()
函数阻塞