Ok here is the story : I got a php script that comunicates with a game server (Half-life). This script uses socket_set_timeout. But the build of php i downloaded doesn't support socket_set_timeout(). So i started to modify the script to do without. Here is the prob : the script use the socket as blockant. But without socket_set_timeout it could be a problem.So i try with a non-blockant socket but i don't get any response from the game server. Here is a portion of the code : if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr)) { $this->errmsg="No connection"; return ""; } socket_set_blocking($cssocket,false); fwrite($cssocket,$command,strlen($command)); // sleep(1); do { $data=fread($cssocket,1024); $serverdata.=$data; $serverdatalen=strlen($serverdata); $socketstatus=socket_get_status($cssocket); // } while ($socketstatus["unread_bytes"] ); } while (time()-$starttime<5 ); The main prob is that : in blockant mode it works fine. In non-blockant mode i don't receive anything. But if i do a sleep(1) before the first read (the commented line) then it works.. Another way of the problem : loop { readdata from socket; append to data akready read; } while moredata or not_timed_out In blockant mode it works. In non-blockant mode i never receive something !! WHY ?? I understand why it works in blockant mode : the read function waits untill the has arrived. But in non-blockant the read function should return the data already arrived then return. And the second time i launch it, it should give me the data that arrived since the last time. I think i missed something, but i cannot see what. Please help me. Sorry about my English, it's not my main language... :) See you later -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]