《Linux函数调用手册》之___recvmsg经socket接收数据
定义:
int recvmsg(int s,struct msghdr *msg,unsigned int flags);
表头文件:
#include<sys/types.h>
#include<sys/socktet.h>
说明:
recvmsg()用来接收远程主机经指定的socket传来的数据。参数s为已建立好连线的socket, 如果利用UDP协议则不需经过连线操作。参数msg指向欲连线的数据结构内容, 参数flags一般设0, 详细描述请参考send()。关于结构msghdr的定义请参考sendmsg()。
返回值:
成功则返回接收到的字符数, 失败则返回-1, 错误原因存于errno中。
相关函数:
recv, recvfrom, send, sendto, sendmsg, socket
附加说明:
EBADF 参数s非合法的socket处理代码。
EFAULT 参数中有一指针指向无法存取的内存空间
ENOTSOCK 参数s为一文件描述词, 非socket。
EINTR 被信号所中断。
EAGAIN 此操作会令进程阻断, 但参数s的socket为不可阻断。
ENOBUFS 系统的缓冲内存不足
ENOMEM 核心内存不足
EINVAL 传给系统调用的参数不正确。
示例:
返回顶部 | 《Linux函数调用大全》 | 《Linux命令大全》 | Linux专栏