位置:首页 > 其他技术 > Unix/Linux系统调用 > getpeername()函数 Unix/Linux

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 yiibais 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).

另请参阅