getpeername()函数 Unix/Linux
getpeername - 获取连接的对等套接字的名称
内容简介
#include <sys/socket.h>
int getpeername(int s, struct sockaddr *name, socklen_t *namelen);
描述
getpeername() 返回连接到套接字s的同伴的名字。namelen 参数应被初始化,以指示的空间指向金额的名字。返回时它包含(以字节为单位)返回的名称的实际大小。该名称被截断,如果提供的缓冲区太小。
返回值
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
错误
标签 |
描述 |
EBADF |
The argument s is not a valid descriptor. |
EFAULT |
The name parameter zaixians to memory not in a valid part of the process address space. |
EINVAL |
namelen is invalid (e.g., is negative). |
ENOBUFS |
|
Insufficient resources were available in the system to perform the operation. |
ENOTCONN |
|
The socket is not connected. |
ENOTSOCK |
|
The argument s is a file, not a socket. |
遵循于
SVr4, 4.4BSD (the getpeername() function call first appeared in 4.2BSD), POSIX.1-2001.
注意
The third argument of getpeername() is in reality an int * (and this is what 4.x BSD and libc4 and libc5 have). Some POSIX confusion resulted in the present socklen_t, also used by glibc. See also accept(2).
另请参阅