Files
php-doc-ru/reference/stream/functions/stream-set-timeout.xml
2024-06-11 00:59:49 +03:00

147 lines
4.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: af6fdf16ab44bcf4d045407963e43c3d9dd2ff29 Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.stream-set-timeout" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>stream_set_timeout</refname>
<refpurpose>Устанавливает значение времени ожидания для потока</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>stream_set_timeout</methodname>
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
<methodparam><type>int</type><parameter>seconds</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>microseconds</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Функция устанавливает значение времени ожидания в потоке <parameter>stream</parameter>,
которое равно сумме параметров <parameter>seconds</parameter>
и <parameter>microseconds</parameter>.
</para>
<para>
Когда время работы потока истекает, ключ timed_out массива, который возвращает
функция <function>stream_get_meta_data</function>, устанавливается в значение &true;, хотя
ошибка или предупреждение не генерируется.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stream</parameter></term>
<listitem>
<para>
Целевой поток.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>seconds</parameter></term>
<listitem>
<para>
Секунды в устанавливаемом времени ожидания.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>microseconds</parameter></term>
<listitem>
<para>
Микросекунды в устанавливаемом времени ожидания.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>stream_set_timeout</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "Невозможно открыть сокет\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 2000);
$info = stream_get_meta_data($fp);
fclose($fp);
if ($info['timed_out']) {
echo 'Истекло время соединения!';
} else {
echo $res;
}
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Эта функция не работает с продвинутыми операциями наподобие
<function>stream_socket_recvfrom</function>. Вместо неё вызывают
функцию <function>stream_select</function> с параметром времени ожидания.
</para>
</note>
<para>
Эта функция раньше вызывалась через функцию
<function>set_socket_timeout</function> и позднее через
функцию <function>socket_set_timeout</function>, но это устарело.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>fsockopen</function></member>
<member><function>fopen</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->