getpeername()

Получить имя пира, подключенного к сокету

Прототип:

#include <sys/socket.h>
int getpeername( int s,
struct sockaddr *name,
socklen_t *namelen );

Аргументы:

s
Сокет, к которому подключен желаемый пир.
name
Буфер, в котором функция может хранить имя пира.
namelen
Указатель на объект socklen_t который изначально определяет размер буфера. Данная функция сохраняет фактический размер имени в байтах в этом объекте.

Библиотека:

libsocket

Описание:

Функция getpeername() возвращает имя пира, подключенного к сокету s. Имя усекается, если предоставленный буфер слишком мал.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Некорректный дескриптор s.
EFAULT
Параметр name указывает на память, не находящуюся в допустимой части адресного пространства процесса.
ENOBUFS
В системе недостаточно ресурсов для выполнения операции.
ENOTCONN
Сокет не подключен.

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

accept(), bind(), getsockname(), socket()




Предыдущий раздел: Описание API сетевой библиотеки