(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_getpeername — Опрашивает удалённую сторону сокета
Функция отправляет запрос удалённой стороне заданного сокета, которая возвращает либо хост и порт, либо путь в файловой системе 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() возвращает осмысленное значение только для тех сокетов, для которых концепция «одноранговых отношений» имеет смысл.