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 を呼び出すことによって特定のエラー コードを取得できます。
エラー コード | 意味 |
---|---|
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。 | |
ネットワーク サブシステムが失敗しました。 | |
name または namelen パラメーターがユーザー アドレス空間の有効な部分にないか、namelen パラメーターが小さすぎます。 | |
ブロックしている Windows ソケット 1.1 呼び出しが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。 | |
ソケットは接続されていません。 | |
記述子はソケットではありません。 |
注釈
getpeername 関数は、ソケット s に接続されているピアのアドレスを取得し、name パラメーターで識別される SOCKADDR 構造体にアドレスを格納します。 この関数は、任意のアドレス ファミリで動作し、ソケットが接続されているアドレスを返すだけです。 getpeername 関数は、接続されているソケットでのみ使用できます。
データグラム ソケットの場合は、前の 接続 呼び出しで指定されたピアのアドレスのみが返されます。 前の sendto 呼び出しで指定されたアドレスは 、getpeername によって返されません。
呼び出し時に、 namelen パラメーターには 名前 バッファーのサイズ (バイト単位) が含まれます。 返された namelen パラメーターには、返される name パラメーターの実際のサイズ (バイト単位) が含まれます。
Windows Phone 8: この関数は、Windows Phone 8 以降のWindows Phone ストア アプリでサポートされています。
Windows 8.1とWindows 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 |