#21197 [Opn]: socket_read() outputs error with PHP_NORMAL_READ
| From: | nlopess@php.net | Date: | Fri, 27 Feb 2004 21:54:38 +0000 |
| Subject: | #21197 [Opn]: socket_read() outputs error with PHP_NORMAL_READ | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-55670@lists.php.net to get a copy of this message | ||
ID: 21197
Updated by: nlopess@php.net
Reported By: bool at boolsite dot net
Status: Open
Bug Type: Sockets related
Operating System: win32 only
PHP Version: php 4.3.5RC4-dev
Assigned To: wez
New Comment:
Using latest PHP 5 snapshot and I still receive the error.
Previous Comments:
------------------------------------------------------------------------
[2004-02-25 18:54:27] bool at boolsite dot net
it's again the same thing :
> X-Powered-By: PHP/4.3.5RC4-dev
> erreur [0] avec socket_read : OpÚration rÚussie.
------------------------------------------------------------------------
[2004-02-25 18:38:44] sniper@php.net
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
Bug #21760 was fixed, and it's pretty likely this is the same issue.
------------------------------------------------------------------------
[2004-01-10 20:30:41] sniper@php.net
Assigning to Wez who might know why streams are borked.
------------------------------------------------------------------------
[2003-12-15 11:11:42] nunoplopes at sapo dot pt
I'm using latest snapshot and I have the same problem. With
PHP_BINARY_READ everything works but with PHP_NORMAL_READ I receive the
following error:
"Warning: socket_read() unable to read from socket [0]: The operation
completed s
uccessfully."
------------------------------------------------------------------------
[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