다음을 통해 공유


getpeername 함수(winsock2.h)

getpeername 함수는 소켓이 연결된 피어의 주소를 검색합니다.

구문

int WSAAPI getpeername(
  [in]      SOCKET   s,
  [out]     sockaddr *name,
  [in, out] int      *namelen
);

매개 변수

[in] s

연결된 소켓을 식별하는 설명자입니다.

[out] name

피어의 주소를 받는 SOCKADDR 구조체입니다.

[in, out] namelen

name 매개 변수의 크기(바이트)에 대한 포인터입니다.

반환 값

오류가 발생하지 않으면 getpeername 은 0을 반환합니다. 그렇지 않으면 SOCKET_ERROR 값이 반환되고 WSAGetLastError를 호출하여 특정 오류 코드를 검색할 수 있습니다.

오류 코드 의미
WSANOTINITIALISED
이 함수를 사용하기 전에 성공적인 WSAStartup 호출이 발생해야 합니다.
WSAENETDOWN
네트워크 하위 시스템이 실패했습니다.
WSAEFAULT
이름 또는 namelen 매개 변수가 사용자 주소 공간의 유효한 부분에 없거나 namelen 매개 변수가 너무 작습니다.
WSAEINPROGRESS
차단 Windows Sockets 1.1 호출이 진행 중이거나 서비스 공급자가 여전히 콜백 함수를 처리하고 있습니다.
WSAENOTCONN
소켓이 연결되지 않았습니다.
WSAENOTSOCK
설명자가 소켓이 아닙니다.

설명

getpeername 함수는 소켓에 연결된 피어의 주소를 검색하고 name 매개 변수로 식별된 SOCKADDR 구조체에 주소를 저장합니다. 이 함수는 모든 주소 패밀리에서 작동하며 소켓이 연결된 주소를 반환합니다. getpeername 함수는 연결된 소켓에서만 사용할 수 있습니다.

데이터그램 소켓의 경우 이전 연결 호출에 지정된 피어의 주소만 반환됩니다. 이전 sendto 호출에서 지정한 주소는 getpeername에서 반환되지 않습니다.

호출할 때 namelen 매개 변수에는 이름 버퍼의 크기(바이트)가 포함됩니다. 반환할 때 namelen 매개 변수에는 반환된 name 매개 변수의 실제 크기(바이트) 포함됩니다.

Windows Phone 8: 이 함수는 Windows Phone 8 이상에서 Windows Phone 스토어 앱에서 지원됩니다.

Windows 8.1Windows Server 2012 R2: 이 함수는 Windows 8.1, Windows Server 2012 R2 이상에서 Windows 스토어 앱에서 지원됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1, Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winsock2.h(Winsock2.h 포함)
라이브러리 Ws2_32.lib
DLL Ws2_32.dll

추가 정보

Winsock 함수

Winsock 참조

bind

connect

getsockname

Sendto

socket