原型:ssize_t recv(int sockfd, viod *buf, size_t len, int flags)
说明:套接字接收函数。返回接收的字节数。
原型:ssize_t recvfrom(int sockfd, void* buf, size_t len, int flags, struct sockaddr* src_addr, socklen_t* addrlen)
说明:在UDP的读写部分,比较常用。recvfrom读取sockfd上的数据,buf和len参数分别指定缓冲区的位置和大小。因为UDP通信没有连接的概念,所以我们读取数据都需要获取发送端的socket地址。recvfrom也可以用于面向连接,只需要把最后两个参数都设置为NULL。
原型:ssize_t read(int filedes, void *buf, size_t nbytes)
说明:文件描述符接收函数,可用于套接字接收。
原型:ssize_t recvmsg(int sockfd, struct msghdr * msg, int flag)
说明:将接收到的数据送入多个缓冲区,结构msghdr被recvfrom用于指定接收数据的输入缓冲区。返回以字节计数的消息长度,若无可用消息或对方已经按序结束则返回0,出错返回-1。
原型:ssize_t readv(int fd, const struct iovec *iov, int iovcnt)
说明:文件描述符接收函数,可用于套接字批量接收操作接收。和recvmsg函数接收过程类似。
参考:
recv()_百度百科 (baidu.com)
recvfrom()_百度百科 (baidu.com)
read()_百度百科 (baidu.com)
Linux下的socket演示程序 (biancheng.net)
简述linux下,从socket写入和读取的函数,read和write函数的含义并解释其接口意义。 - 百度文库 (baidu.com)
linux网络编程(七)-recv()剖析 - 知乎 (zhihu.com)
recv/send/recvfrom/sendto/recvmsg/sendmsg小结 - 知乎 (zhihu.com)
socket recv函数系列,recv,recvfrom,recvmsg,一文彻底弄懂,可作参考手册_物联网心球的博客-CSDN博客
Linux socket下read函数详解_linux read socket_VioletEvergarden丶的博客-CSDN博客