备注

有关socklen_t类型的背景,请参见accept(2)。

语法

#include <sys/socket.h>

int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
GETSOCKNAME - Linux手册页

Linux程序员手册 第2部分
更新日期: 2017-09-15

返回值

成功时,返回零。如果出错,则返回-1,并正确设置errno。

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

说明

getsockname()在addr指向的缓冲区中返回套接字sockfd绑定到的当前地址。应该初始化addrlen参数以指示addr指向的空间量(以字节为单位)。返回时,它包含套接字地址的实际大小。

如果提供的缓冲区太小,返回的地址将被截断。在这种情况下,addrlen将返回一个大于提供给调用的值。

名称

getsockname-获取套接字名称

另外参见

bind(2),socket(2),getifaddrs(3),ip(7),socket(7),unix(7)

错误说明

EBADF
参数sockfd不是有效的文件描述符。
EFAULT
addr参数指向不在进程地址空间有效部分中的内存。
EINVAL
addrlen无效(例如,为负)。
ENOBUFS
系统中没有足够的资源来执行操作。
ENOTSOCK
文件描述符sockfd不引用套接字。

遵循规范

POSIX.1-2001,POSIX.1-2008,SVr4、4.4BSD(getsockname()首次出现在4.2BSD中)。

日期:2019-08-20 17:58:51 来源:oir作者:oir