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 从套接字接收最多指定数量的字节,该套接字可能已连接也可能未连接。该操作会阻塞,直到传输一个或多个字节、超时或发生错误。传输的字节数不超过 amountPR_RecvFrom 通常与 UDP 套接字一起使用。