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

getsockname

接口名称

getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen)

接口描述

获取socket连接地址信息。

参数说明

参数说明备注
sockfd通信节点描述符传入socket描述符。
*addr通信地址函数正常返回时填写地址信息,即获取到的地址信息存储在该参数中。
*addrlen地址长度输入的地址长度必须足够存放地址信息。函数正常返回时修改为实际的地址长度。

返回值

类型:int

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

错误码

错误码描述
EINVAL入参addrlen不是地址族的有效长度,入参addrlen大于INT_MAX,或套接字已被shutdown。
EFAULT套接字结构地址在用户的地址空间之外。
ELIBBAD系统符号加载失败。
EINVAL套接字存在,但是套接字对应的数据结构存在异常。
EINVAL共线程部署模式时,sockfd的worker id和当前线程的worker id不一致,即socket跨worker线程调用。