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