您的位置  > 互联网

sendsend万元现金落网后失踪

send函数只负责向协议层提交数据。

调用该函数时,send首先将要发送的数据的长度len与 s的发送缓冲区的长度进行比较。 如果len大于s的发送缓冲区的长度,则函数返回;

如果len小于或等于s的发送缓冲区的长度,则send首先检查协议是否正在发送s的发送缓冲区中的数据;

如果是,则等待协议完成数据发送。 如果协议还没有开始发送s的发送缓冲区中的数据或者s的发送缓冲区中没有数据,则send将s的发送缓冲区的剩余空间与len进行比较;

如果len大于剩余空间,则send将等待协议发送完s的发送缓冲区中的数据。 如果len小于剩余空间,则send只会将buf中的数据复制到剩余空间(注意send不会将s复制到剩余空间)。 发送缓冲区中的数据被传输到连接的另一端,但它是通过协议传输的。 send只是将buf中的数据复制到s)的发送缓冲区的剩余空间中。

如果发送函数成功复制数据,它将返回实际复制的字节数。 send复制数据时如果出现错误,则send返回;

如果send等待协议传输数据时网络断开,send函数也会返回。 需要注意的是,send函数成功将buf中的数据复制到s的发送缓冲区的剩余空间后返回,但此时数据并不一定立即传输到连接的另一端。

如果后续传输协议过程中出现网络错误,则next函数返回。 (除了send之外的每个函数在执行开始时总是等待的发送缓冲区中的数据被协议传输后才继续执行。如果等待期间发生网络错误,函数将返回)