socket_create(PHP 4 >= 4.1.0) socket_create - создаёт сокет (конечную точку соединения). Описаниеresource socket_create (int domain, int type, int protocol)
Создаёт конечную точку соединения (сокет) и возвращает ресурс сокета. Параметр domain устанавливает домен (семейство протокола) для использования в соединении. В настоящее время понимаются AF_INET и AF_UNIX. AF_INET обычно используется для соединений на основе internet. AF_UNIX использует pathnames для идентификации сокетов и, следовательно, применим только для локальных соединений (что, с другой стороны, быстрее). Параметр type выбирает тип сокета. Это один из: SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, SOCK_RAW, SOCK_RDM, SOCK_PACKET. Два самых распространённых - SOCK_DGRAM для UDP (connectionless) взаимодействия и SOCK_STREAM для TCP-взаимодействия. protocol устанавливает протокол: SOL_UDP или SOL_TCP. Возвращает ресурс сокета при успехе, FALSE при ошибке. Код ошибки можно запросить функцией socket_last_error(). Этот код ошибки можно передавать в socket_strerror() для получения текстового объяснения ошибки. Дополнительно об использовании socket_create(), а также о значениях различных параметров, см. Unix man-страницу socket (2).
См. также socket_accept(), socket_bind(), socket_connect(), socket_listen(), socket_last_error() и socket_strerror(). |
||||||||||
|
||||||||||
Утверждение назад начинается с (?<= для положительного и с (?<! - для
отрицательного утверждения. Например,
(?<!foo)bar
не найдёт вхождения "bar", перед которым нет "foo". Содержимое утверждения назад
ограничено так, что все строки, с которыми оно совпадает обязаны иметь фиксированные
размеры. Однако, если есть несколько альтернатив, они не все должны иметь один
и тот же фиксированный размер. Таким образом,
(?<=bullock|donkey)
допустимо, а
(?<!dogs?|cats?)
вызовет ошибку времени компиляции. Ответвления, которые совпадают со строками
разной длины, допускаются только на верхнем уровне lookbehind-утверждения. Это
расширение относительно 5.005, который требует, чтобы все ответвления совпадали
с одной длиной строки. Такое утверждение как
(?<=ab(c|de))
недопустимо, поскольку имеет единственное ответвление верхнего уровня, которое
может совпадать с двумя различными размерами, но это допускается, если переписать
его с двумя ответвлениями верхнего уровня:
(?<=abc|abde)
Утверждения назад/lookbehind реализованы так, что, для каждой альтернативы,
временно сдвигается текущая позиция на фиксированную ширину, а затем делается
попытка найти совпадение.
Если перед текущей позицией недостаточно символов, совпадение считается неудачным.
Утверждения назад в сочетании с once-only субпатэрнами могут особенно пригодиться
для поиска совпадений в конце строк; пример дан в конце этого раздела для once-only
субпатэрнов.
| |