stream_socket_server Создаёт интернет-сокет или доменный сокет Unix &reftitle.description; resourcefalsestream_socket_server stringaddress interror_code&null; stringerror_message&null; intflagsSTREAM_SERVER_BIND | STREAM_SERVER_LISTEN resourcenullcontext&null; Создаёт сокет потока или датаграммы на указанном address. Эта функция только создаёт сокет. Чтобы начать принимать соединения используйте stream_socket_accept. &reftitle.parameters; address Тип создаваемого сокета определяется по транспорту, указанному с использованием стандартного форматирования URL: transport://target. Для доменных сокетов интернета (AF_INET), таких как TCP и UDP, часть target параметра remote_socket должна состоять из имени хоста или IP-адреса с последующим двоеточием и номера порта. Для доменных сокетов Unix часть target должна указывать на файл сокета в файловой системе. В зависимости от окружения, доменные сокеты Unix могут быть недоступны. Список доступных транспортов может быть получен при помощи функции stream_get_transports. Смотрите для списка встроенных транспортов. error_code Если необязательные аргументы error_code и error_message присутствуют, то они будут установлены для указания действительного уровня системной ошибки, которая происходит при системных вызовах socket(), bind() и listen(). Если значение, возвращаемое в error_code, равно 0 и функция возвратила &false;, это означает, что ошибка произошла до вызова bind(). Скорее всего это произошло из-за проблемы инициализации сокета. Примите во внимание, что аргументы error_code и error_message должны всегда передаваться по ссылке. error_message Смотрите описание параметра error_code. flags Битовая маска, которая может быть установлена в любую комбинацию флагов для создания сокета. Для UDP-сокетов вы должны использовать STREAM_SERVER_BIND в качестве параметра flags. context &reftitle.returnvalues; Возвращает созданный поток или &false; в случае возникновения ошибки. &reftitle.changelog; &Version; &Description; 8.0.0 Параметр context теперь допускает значение null. &reftitle.examples; Пример использования серверных сокетов TCP \n"; } else { while ($conn = stream_socket_accept($socket)) { fwrite($conn, 'Локальное время ' . date('n/j/Y g:i a') . "\n"); fclose($conn); } fclose($socket); } ?> ]]> Пример ниже показывает, как работать в качестве сервера времени, который может отвечать на запросы времени, как показано в примере функции stream_socket_client. Большинство систем требуют доступа с правами root для создания серверного сокета на порту ниже, чем 1024. Пример использования серверных сокетов UDP ]]> &reftitle.notes; &ipv6.brackets; &reftitle.seealso; stream_socket_client stream_set_blocking stream_set_timeout fgets fgetss fwrite fclose feof Модуль curl