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

Reply via email to