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 を呼び出すことによって特定のエラー コードを取得できます。

エラー コード 意味
WSANOTINITIALIZED
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。
WSAENETDOWN
ネットワーク サブシステムが失敗しました。
WSAEFAULT
name または namelen パラメーターがユーザー アドレス空間の有効な部分にないか、namelen パラメーターが小さすぎます。
WSAEINPROGRESS
ブロックしている Windows ソケット 1.1 呼び出しが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。
WSAENOTCONN
ソケットは接続されていません。
WSAENOTSOCK
記述子はソケットではありません。

注釈

getpeername 関数は、ソケット s に接続されているピアのアドレスを取得し、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 を含む)
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

Winsock 関数

Winsock リファレンス

bind

connect

getsockname

Sendto

socket