stream_set_timeout
ストリームにタイムアウトを設定する
説明
bool stream_set_timeout(resource $stream
, int $seconds
, int $microseconds
= 0)
ストリームがタイムアウトとなった場合は、
stream_get_meta_data が返す配列のキー 'timed_out'
の値が true
に設定されます。エラーや警告が発生していなくても同様になります。
パラメータ
-
stream
-
対象となるストリーム。
-
seconds
-
設定したいタイムアウトの秒数部分。
-
microseconds
-
設定したいタイムアウトのマイクロ秒数部分。
戻り値
成功した場合に true
を、失敗した場合に false
を返します。
例
例1 stream_set_timeout の例
<?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 'Connection timed out!';
} else {
echo $res;
}
}
?>
注意
注意:
この関数では、stream_socket_recvfrom のような
高度な操作はできません。そのかわりに、timeout パラメータを指定して
stream_select を使用してください。
この関数は、以前は
set_socket_timeout 、その後は
socket_set_timeout と呼ばれたこともありましたが、
これらの利用は推奨されません。