Re: How do I force my script to exit after 5 seconds?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aaron Gould wrote:
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.


probably blocking on the socket....
have you tried:
www.php.net/stream_set_timeout

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux