Функция 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 , определяемой параметром name . Эта функция работает с любым семейством адресов и просто возвращает адрес, к которому подключен сокет. Функцию getpeername можно использовать только в подключенном сокете.
Для сокетов датаграмм будет возвращен только адрес однорангового узла, указанный в предыдущем вызове connect . Любой адрес, указанный в предыдущем вызове 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 | winsock.h (включая Winsock2.h) |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |