Функция 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 возвращает ноль. В противном случае возвращается значение SOCKET_ERROR, а определенный код ошибки можно получить, вызвав WSAGetLastError.
Код ошибки | Значение |
---|---|
Перед использованием этой функции должен произойти успешный вызов WSAStartup . | |
Произошел сбой сетевой подсистемы. | |
Параметр namelen или namelen не входит в допустимую часть адресного пространства пользователя или параметр namelen слишком мал. | |
Выполняется блокирующий вызов Windows Sockets 1.1 или поставщик услуг по-прежнему обрабатывает функцию обратного вызова. | |
Сокет не подключен. | |
Дескриптор не является сокетом. |
Комментарии
Функция getpeername извлекает адрес однорангового узла, подключенного к сокету, и сохраняет его в структуре SOCKADDR , определяемой параметром name . Эта функция работает с любым семейством адресов и просто возвращает адрес, к которому подключен сокет. Функцию getpeername можно использовать только в подключенном сокете.
Для сокетов датаграмм будет возвращен только адрес однорангового узла, указанный в предыдущем вызове подключения . Любой адрес, указанный в предыдущем вызове sendto , не будет возвращен командлетом getpeername.
При вызове параметр namelen содержит размер буфера имен в байтах. При возврате параметр namelen содержит фактический размер возвращаемого параметра name в байтах.
Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone на Windows Phone 8 и более поздних версиях.
Windows 8.1 и Windows Server 2012 R2. Эта функция поддерживается для приложений Магазина Windows на Windows 8.1, Windows Server 2012 R2 и более поздних версиях.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8.1, Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winsock2.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |