I tried this earlier, but it does not seem to work... It appears to
just hang when no data is returned from the networked device. It seems
as if the loop stops, and is waiting for something.
Brad Bonkoski wrote:
I think something like this will work for you..
$start_time = time();
...loop..
if( time() - $start_time > 5 ) exit;
-B
Aaron Gould wrote:
I have a script that connects to a networked device via PHP's socket
functions. This device accepts proprietary commands (e.g.: "KPRINT",
as seen below), and returns data. However, this device does not have
any sort of "EXIT" command to end the processing of events. So it
essentially loops forever.
I do know that if this device does not return anything after 5
seconds, it will never return anything.
So, my question is: how can I force this script to stop after 5
seconds has elapsed?
Here's the script:
============================================================
$fp = fsockopen('192.168.3.25', 10001, $errno, $errstr, 5);
if (!$fp) {
echo 'Error...';
} else {
$command = "KPRINT\r\n";
fwrite($fp, $command);
while (!feof($fp)) {
$buffer = fgets($fp, 1024);
}
fclose($fp);
}
============================================================
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php