Опрашивает удалённую сторону сокета

# socket_getpeername

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getpeername — Опрашивает удалённую сторону сокета

### Описание

function socket_getpeername(Socket `$socket`, string `&$address`, int `&$port` = `null`): bool

Функция отправляет запрос удалённой стороне заданного сокета, которая возвращает либо хост и порт, либо путь в файловой системе Unix, в зависимости от типа сокета.

### Список параметров

`socket`

  Экземпляр Socket, который создали функциями socket_create() или socket_accept().

`address`

  Если тип сокета относится к семейству IPv4-адресов `AF_INET` или IPv6-адресов `AF_INET6`: функция socket_getpeername() заполнит параметр `address` значением IP-адреса однорангового (удалённого) узла в нотации, которая соответствует версии протокола — `127.0.0.1` или `fe80::1`. Функция также вернёт связанный с адресом порт, если указали необязательный параметр `port`.

  Если тип сокета относится к семейству адресов файловой системы Unix `AF_UNIX`: функция socket_getpeername() заполнит параметр `address` значением пути в файловой системе Unix. Например: `/var/run/daemon.sock`.

`port`

  Функция заполнит параметр номером порта, который связан параметром `address`, если порт указали.

### Возвращаемые значения

Функция возвращает `true`, если выполнилась успешно, или `false`, если возникла ошибка. Функция socket_getpeername() также может вернуть `false`, если тип сокета не совпадает со значениями констант `AF_INET`, `AF_INET6` или `AF_UNIX`; код последней ошибки сокета не обновляется, если возник такой случай.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Параметр `socket` теперь принимает объект Socket; раньше принимался тип resource.

### Примечания

> Замечание:

> Функцию socket_getpeername() не следует вызывать с `AF_UNIX`-сокетами, которые создали функцией socket_accept(). Возвращать осмысленные значения будут только сокеты, которые создали функцией socket_connect(), или сокет основного сервера после вызова функции socket_bind().

> Замечание:

> Функция socket_getpeername() возвращает осмысленное значение только для тех сокетов, для которых концепция «одноранговых отношений» имеет смысл.

### Смотрите также

- socket_getsockname() - Запрашивает локальную сторону указанного сокета, в результате можно получить хост/порт или путь в файловой системе Unix, в зависимости от типа сокета
- socket_last_error() - Возвращает последнюю ошибку сокета
- socket_strerror() - Возвращает строку, описывающую ошибку сокета

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open