recvfrom函数

函数原型 

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);

参数解释:

sockfd: 这是已经创建并绑定的套接字的文件描述符。
buf: 这是一个指向缓冲区的指针,用于存储接收到的数据。
len: 这是缓冲区 buf 的大小,以字节为单位。
flags: 这是一些标志位,用于修改 recvfrom 的行为。例如,MSG_DONTWAIT 表示非阻塞模式,MSG_WAITALL 表示等待直到接收到指定长度的数据。
src_addr: 这是一个指向 sockaddr 结构体的指针,用于存储发送方的地址信息。如果不需要获取发送方的地址,可以设置为 NULL。
addrlen: 这是一个指向整型的指针,用于指定 src_addr 结构体的大小。在调用 recvfrom 之前,应该将其设置为 src_addr 结构体的大小,在调用之后,它将被设置为新接收到的地址的实际大小。
返回值:
如果成功,recvfrom 返回接收到的字节数。
如果连接被对方优雅地关闭,返回 0。
如果发生错误,返回 -1,并设置全局变量 errno 来指示错误的原因。
使用 recvfrom 时,需要处理可能出现的各种错误情况,例如,如果套接字处于非阻塞模式并且没有数据可读,recvfrom 可能会返回 EAGAIN 或 EWOULDBLOCK 错误。

buf数据存储模式为 网络数据报文模式为大端存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值