Функции Язык программирования PHP

socket_getsockname

(PHP 4 >= 4.1.0)

socket_getsockname - запрашивает локальную сторону данного сокета, что может дать либо пару host/port, либо путь файловой системы UNIX, в зависимости от типа.

Описание

bool socket_getsockname (resource socket, string &addr [, int &port])

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Если это сокет типа AF_INET, socket_getpeername() возвратит peer (удалённый) IP-адрес в нотации dotted-quad (например, 127.0.0.1) в параметре address и, если имеется необязательный параметр port, также ассоциированный порт.

Если это сокет типа AF_UNIX, socket_getpeername() возвратит путь файловой системы UNIX (например, /var/run/daemon.sock) в параметре address.

Возвращает TRUE при успехе, FALSE при неудаче. socket_getpeername() может также возвратить FALSE, если сокет имеет тип не AF_INET и не AF_UNIX; тогда последний код ошибки сокета не обновляется.

См. также socket_getpeername(), socket_last_error() и socket_strerror().


Назад Оглавление Вперёд
socket_getpeername Вверх socket_iovec_add

Утверждения/Assertions

Утверждение назад начинается с (?<= для положительного и с (?<! - для отрицательного утверждения. Например,

(?<!foo)bar

не найдёт вхождения "bar", перед которым нет "foo". Содержимое утверждения назад ограничено так, что все строки, с которыми оно совпадает обязаны иметь фиксированные размеры. Однако, если есть несколько альтернатив, они не все должны иметь один и тот же фиксированный размер. Таким образом,

(?<=bullock|donkey)

допустимо, а

(?<!dogs?|cats?)

вызовет ошибку времени компиляции. Ответвления, которые совпадают со строками разной длины, допускаются только на верхнем уровне lookbehind-утверждения. Это расширение относительно 5.005, который требует, чтобы все ответвления совпадали с одной длиной строки. Такое утверждение как

(?<=ab(c|de))

недопустимо, поскольку имеет единственное ответвление верхнего уровня, которое может совпадать с двумя различными размерами, но это допускается, если переписать его с двумя ответвлениями верхнего уровня:

(?<=abc|abde)

Утверждения назад/lookbehind реализованы так, что, для каждой альтернативы, временно сдвигается текущая позиция на фиксированную ширину, а затем делается попытка найти совпадение.
Если перед текущей позицией недостаточно символов, совпадение считается неудачным. Утверждения назад в сочетании с once-only субпатэрнами могут особенно пригодиться для поиска совпадений в конце строк; пример дан в конце этого раздела для once-only субпатэрнов.