开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

readv

接口名称

readv(int fd, const struct iovec *iov, int iovcnt)

接口描述

从文件描述符读取数据到缓冲区。

参数说明

参数说明备注
fd文件描述符传入socket描述符。
*ioviov指针调用者保证长度的有效性,待接收数据总长度范围为(0, SSIZE_MAX]。
iovcntiov个数范围[0, 1024]。

返回值

类型:ssize_t

  • 正数:实际读取的数据长度,表示成功

  • -1:表示失败,并设置errno以指示错误类型

  • 0:表示链路已中断

错误码

错误码描述
EAGAINEWOULDBLOCK
ECONNRESET连接被对端终止。
EINVAL入参iov结构体中的iov_len值之和大于SSIZE_MAX,或者入参iovcnt小于0或大于1024。
ENOTCONN套接字未连接。
EINTR被信号中断。
EFAULT入参iov为空指针。
ELIBBAD系统符号加载失败。
EINVAL套接字存在,但是套接字对应的数据结构存在异常。
EINVAL共线程部署模式时,sockfd的worker id和当前线程的worker id不一致,即socket跨worker线程调用。