getpeername 函式 (winsock.h)
getpeername 函式會擷取套接字所連接的對等位址。
語法
int getpeername(
[in] SOCKET s,
[out] sockaddr *name,
[in, out] int *namelen
);
參數
[in] s
識別已連線套接字的描述項。
[out] name
接收對等位址的 SOCKADDR 結構。
[in, out] namelen
name 參數的大小指標,以位元組為單位。
傳回值
如果沒有發生錯誤, getpeername 會傳回零。 否則,會傳回SOCKET_ERROR的值,而且可以呼叫 WSAGetLastError 來擷取特定的錯誤碼。
錯誤碼 | 意義 |
---|---|
使用此函式之前,必須先進行成功的 WSAStartup 呼叫。 | |
網路子系統失敗。 | |
名稱或 namelen 參數不在使用者位址空間的有效部分,或 namelen 參數太小。 | |
封鎖的 Windows Sockets 1.1 呼叫正在進行中,或者服務提供者仍在處理回呼函式。 | |
未連接此通訊端。 | |
描述項不是套接字。 |
備註
getpeername 函式會擷取連接到套接字的對等位址,並將位址儲存在名稱參數所識別的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 |
標頭 | winsock.h (包含 Winsock2.h) |
程式庫 | Ws2_32.lib |
Dll | Ws2_32.dll |