ID:               21197
 Updated by:       [EMAIL PROTECTED]
 Reported By:      bool at boolsite dot net
-Status:           Verified
+Status:           Feedback
 Bug Type:         Sockets related
 Operating System: win32 only
 PHP Version:      4.3.4-dev
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip




Previous Comments:
------------------------------------------------------------------------

[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);
?>

------------------------------------------------------------------------

[2003-08-25 20:17:06] [EMAIL PROTECTED]

Please provide a complete but short example script that can be used to
reproduce this bug.


------------------------------------------------------------------------

[2003-08-25 18:19:27] bool at boolsite dot net

It's not the same bugs than http://bugs.php.net/bug.php?id=21760 . Here
it's a Win32 PHP version bug only, since the PHP 4.3.0 version, and
there is always the bug in the last version 4.3.3.

socket_read() always return FALSE, and display this error : "erreur [0]
avec socket_read : OpÚration rÚussie."
(in english it should be "error [0] with socket_read : operation
completed.")

maybe it's because of the socket_select() before the socket_read() ?


PS : it affects all my codes, but only with PHP 4.3.x Win32 version. On
unix or with PHP 4.2.3 all works fine.

------------------------------------------------------------------------

[2003-06-29 21:42:30] [EMAIL PROTECTED]

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments
to the existing bug instead.

Thank you for your interest in PHP.

The active discussion regarding this bug appears to be here
http://bugs.php.net/bug.php?id=21760

let's keep it all in one place.

------------------------------------------------------------------------

[2002-12-26 20:39:22] [EMAIL PROTECTED]

If you omit the third parameter to socket_read() it seems to work fine.
However, adding PHP_NORMAL_READ causes error as described in the bug
report.

------------------------------------------------------------------------

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