phpbar.de logo

Mailinglisten-Archive

[php] fsockopen langsaaaaaaaam

[php] fsockopen langsaaaaaaaam

Kai Meder php-ml at kai.meder.info
Don Jul 31 15:53:17 CEST 2003


> > > > diese 3 zeilen dauern so um die 15 sekunden bei einem normale
> > > > GET-request ohne payload
> > > > auf localhost(!)
> > > >
> > > > // reading response
> > > >  $response = '';
> > > >  while (!feof($s))
> > > >   $response .= fread($s , 1024);
> > >
> > > Ich hatte mal ähnliche Probleme.
> > >
> > > Mit fread($s , 1); war es dann schneller.
> > > Frag mich aber nicht wieso, das war mir dann egal als es lief.
> >
> > habe es ausprobiert, ändert leider gar nichts :(
> > hab auch mal mit anderen sizes rumgespielt ... keine veränderung ...
> >
> > aber eine recht witzige sache: wenn der server falsch konfiguriert
sein
> > sollte,
> > liefert er ja 500er an die clients ... diese responses werden ohne
jede
> > verzögerung gelesen ...
> > so wie es sein sollte .. nur wirkliche 200er OKs brauchen
eeeeeewwwig :(
>
> Zeig uns doch mal deinen kompl. Code. Kanns es sein das du bei der
> Komunikation irgentwas weglaesst und der Server nen TimeOut abwartet

/* nuke the host ... */
function send($timeout = 1)
 {
 // opening socket
 if (!($s = fsockopen($this->host , $this->port , $error_num , $error ,
$timeout)))
  return vulcan::error('http_request::send' , 'could not connect to host
"'.$this->host.'" on port "'.$this->port.'": ('.$error_num.') '.$error);

 // setting timeout
 //socket_set_timeout($s , $timeout);

 // sending request
 fwrite($s , $this->build_request());

 // reading response
 $response = '';
 while (!feof($s))
  $response .= fread($s , 1024);

 // closing socket
 fclose($s);

 return new http_response($response);
 }

ich schätze mal das hiflt nicht viel .. und die methode build_request
ist etwas länger .... soll ich die auch schicken ?


php::bar PHP Wiki   -   Listenarchive