(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_set_timeout — Establecer un perido de tiempo de espera en un flujo
$stream
, int $seconds
[, int $microseconds
= 0
] )
Establece el valor del tiempo de espera en stream
,
expresado como la suma de seconds
y
microseconds
.
Cuando el flujo agota el tiempo de espera, la clave 'timed_out' de la matriz devuelta por
stream_get_meta_data() se establece a TRUE
, aunque no
se genere un error/advertencia.
stream
El flujo objetivo.
seconds
La parte de segundos del tiempo de espera a establecer.
microseconds
La parte de microsegundos del tiempo de espera a establecer.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Versión | Descripción |
---|---|
4.3.0 | A partira de PHP 4.3, esta función pude (potencialmente) trabajar con cualquier tipo de flujos. En PHP 4.3, los sockets basados en flujos son aún el único tipo soportado en el núcleo de PHP, aunque los flujos de otras extensiones pueden soportar esta función. |
Ejemplo #1 Ejemplo de stream_set_timeout()
<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "No se puede abrir\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 '¡La conexión agotó el tiempo de espera!';
} else {
echo $res;
}
}
?>
Nota:
Esta función no funciona con operaciones avanzadas como stream_socket_recvfrom(), use stream_select() con el parámetro tiempo de espera (timeout) en su lugar.
Esta función se llamaba anteriormente set_socket_timeout() y después socket_set_timeout() pero este uso está obsoleto.