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

来源:互联网 发布:优化发展环境讲话 编辑:程序博客网 时间:2024/06/05 19:13

一句话总结:send和recv仅仅是在内核空间和用户空间之间拷贝数据,而发送数据是协议的事情。

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

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

send发送一次数据,recv可能需要连续几次才能读取完。

原创粉丝点击