ID: 32184
User updated by: huoqi29 at 163 dot com
Reported By: huoqi29 at 163 dot com
Status: Open
Bug Type: Sockets related
Operating System: Linux DevelopWeb 2.6.8-24-smp #1
PHP Version: 5.0.3
New Comment:
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Previous Comments:
------------------------------------------------------------------------
[2005-03-04 09:02:30] huoqi29 at 163 dot com
Description:
------------
If you uncomment the '//echo "Bug";' and when you run this script
,you will get the expect result if you don't logout, and when you login
and "ps -aux " you can find it.
But where you "telnet 127.0.0.1 99999" you can't connect it .
Reproduce code:
---------------
<?php
if(pcntl_fork()){exit;} posix_setsid(); chdir("/"); umask(0);
$sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_bind($sock,"127.0.0.1",99999);
socket_listen($sock); $R=array($sock);
while(1) { $T=$R; if($C=socket_select($T,$W=NULL,$E=NULL,0,0)) {
foreach($T as $sock2) {
if($sock2==$sock) {
$client=socket_accept($sock);
array_push($R,$client);
}
else{ //echo "Bug";
//socket_getpeername($sock2,&$add,&$prot);
$B=socket_recv($sock2,$Buf,1024,0);
if($B==0 || chop($Buf)=="quit" ||
chop($Buf)=="exit") {
$I=array_search($sock2,$R);
unset($R[$I]);
socket_close($sock2);
}else socket_send($sock2,"Hello".$Buf,1024,0);
} } } } ?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32184&edit=1