您的位置:首页 > 理论基础 > 计算机网络

SOCKET中send和recv函数真正在做什么

2017-10-23 12:51 288 查看
一句话总结:send和recv仅仅是在内核空间和用户空间之间拷贝数据,而发送数据是协议的事情。

send:将数据拷贝到内核发送缓冲区,拷贝成功返回拷贝的字节数。如果协议正在发送缓冲区的数据,则等待;如果缓冲区剩余空间不足,则等待。

recv:将数据用内核接收缓冲区拷贝到用户空间,拷贝成功返回拷贝的字节数。如果协议正在接收数据,则等待;如果接收缓冲区没有数据,则等待。

send发送一次数据,recv可能需要连续几次才能读取完。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux tcp socket