ID: 35077
Updated by: [EMAIL PROTECTED]
-Summary: stream_set_timeout does not work with
stream_socket_recvfrom
Reported By: pn2865 at yahoo dot com
-Status: Open
+Status: Feedback
Bug Type: Sockets related
-Operating System: Linux or Win XP or Win2003
+Operating System: *
PHP Version: 5.0.5
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-11-03 03:12:36] pn2865 at yahoo dot com
Description:
------------
Sample program tries to get data via UDP and never completes if none
received. Use any IP address and port that does (or does not) exist and
you get the same result if that IP does not send a UDP packet to the
system this snippet is run on.
Reproduce code:
---------------
$server_recv = stream_socket_server("udp://192.168.1.100:9999", $errno,
$errstr, STREAM_SERVER_BIND);
if (!$server_recv)
exit ("ERROR: stream_socket_server failed");
set_time_limit(2); // Will not interrupt stream_socket_recvfrom
stream_set_timeout($server_recv,3,0);
$packet=stream_socket_recvfrom($server_recv, 1000);
$info = stream_get_meta_data($server_recv);
if ($info['timed_out'])
echo 'Connection timed out!';
else
echo "Got back '$packet'";
Expected result:
----------------
Should timeout at 3 seconds.
Actual result:
--------------
Never comes back from stream_socket_recvfrom call.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35077&edit=1