On Wed, Dec 14, 2011 at 12:11 AM, Mihai Anghel <mihaigrim1985@xxxxxxxxx> wrote: > Hello, > > It appears to me that something is strange with the socket_select function. > From what I understand the value of the fourth parameter, tv_sec, > should block the execution of the script for that number of seconds. > I tried this code : > <?php > > error_reporting(E_ERROR); > > $serverSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); > > $result = socket_bind($serverSocket, "127.0.0.1", "20668"); > > $start = time(); > > while(true) > { > $reads = array($serverSocket); > $writes = null; > $except = null; > $changes = socket_select($reads, $writes, $except, 5); > $now = time(); > echo $now - $start; > echo "\n"; > } > > and when I run it with php -q server3.php the ouput shows something > like 0 0 0 0 0 1 1 1 1 1 2 2 2 2 etc so the script doesn't pause on > socket_select until it returns. > > Cam somebody explain me what's happening ? > It seems to me that your socket_select function is failing, maybe because earlier code is failing. Check the return of socket_select like this: if ($changes === false) { echo "socket_select() failed, reason: " . socket_strerror(socket_last_error()) . "\n"; } Cheers, Matijn -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php