PR_RecvFrom¶
从套接字接收字节并存储发送方的地址。
语法¶
#include <prio.h>
PRInt32 PR_RecvFrom(
PRFileDesc *fd,
void *buf,
PRInt32 amount,
PRIntn flags,
PRNetAddr *addr,
PRIntervalTime timeout);
参数¶
该函数具有以下参数
fd
指向表示套接字的 PRFileDesc 对象的指针。
buf
指向包含接收数据的缓冲区的指针。
amount
buf
的大小(以字节为单位)。flags
此已弃用的参数必须始终为零。
addr
指向 PRNetAddr 对象的指针,该对象将在返回时填充发送方的地址。
timeout
类型为 PRIntervalTime 的值,指定接收操作完成的时间限制。
返回值¶
该函数返回以下值之一
正数表示实际接收到的字节数。
值为 0 表示网络连接已关闭。
值为 -1 表示失败。可以通过调用 PR_GetError 获取失败的原因。
描述¶
PR_RecvFrom 从套接字接收最多指定数量的字节,该套接字可能已连接也可能未连接。该操作会阻塞,直到传输一个或多个字节、超时或发生错误。传输的字节数不超过 amount
。 PR_RecvFrom 通常与 UDP 套接字一起使用。