位置:首頁 > 其他技術 > 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).

另請參閱