ID: 21197 User updated by: bool at boolsite dot net Reported By: bool at boolsite dot net Status: Open Bug Type: Sockets related Operating System: win32 only PHP Version: 5.*, 4.* New Comment:
With PHP 5 you can use the Stream extension (http://www.php.net/manual/en/ref.stream.php), which works well and is not "experimental". Previous Comments: ------------------------------------------------------------------------ [2005-09-29 16:07:34] tommyo at gmail dot com I installed the latest windows build PHP Version 5.1.0RC2-dev and the socket problem still exists. I get: Warning: socket_read() [function.socket-read]: unable to read from socket [0]: The operation completed successfully. When I put PHP_NORMAL_READ for the read type parameter. Using the default or PHP_BINARY_READ works just fine for the same line of code. ------------------------------------------------------------------------ [2005-09-29 01:00:25] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2005-09-21 12:46:05] [EMAIL PROTECTED] 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 ------------------------------------------------------------------------ [2004-03-11 11:06:02] [EMAIL PROTECTED] I've compilled PHP with cygwin/gcc and no error is produced. However, the build version from snaps.php.net gives that error. ------------------------------------------------------------------------ [2003-08-26 02:00:58] bool at boolsite dot net Ok, this is a short example : (a little echo server) <?php error_reporting(E_ALL); $Port=6669; if(($Sock=socket_create(AF_INET,SOCK_STREAM,0))<=0) { echo 'socket_create() a échoué : ',socket_strerror(socket_last_error($Sock)),"\r\n"; exit; } if(($Ret=socket_bind($Sock,0,$Port))<=0) { echo 'socket_bind() a échoué : ',socket_strerror(socket_last_error($Ret)),"\r\n"; exit; } if(($Ret=socket_listen($Sock,5))<=0) { echo 'socket_listen() a échoué : ',socket_strerror(socket_last_error($Ret)),"\r\n"; exit; } while(true){ $MsgSock=socket_accept($Sock); if($MsgSock===false) { echo 'socket_accept() a échoué : ',socket_strerror(socket_last_error($MsgSock)),"\r\n"; break; } else { echo '=> Debut de la connexion...',"\r\n"; $EndTime=time()+15; do{ $buffer=socket_read($MsgSock,1024,PHP_NORMAL_READ); if($buffer===false) { echo 'socket_read() a échoué : ',socket_strerror(socket_last_error($MsgSock)),"\r\n"; break; } elseif(!$buffer){ continue; } $buffer=trim($buffer); echo '< ',$buffer,"\r\n"; if($buffer=='quit') { break; } $back='You sent : ['.$buffer.']'; echo '> ',$back,"\r\n"; socket_write($MsgSock,$back."\r\n"); } while(time()<$EndTime); @socket_close($MsgSock); echo '=> End...',"\r\n"; } } socket_close($Sock); ?> ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/21197 -- Edit this bug report at http://bugs.php.net/?id=21197&edit=1