phpbar.de logo

Mailinglisten-Archive

[php] fsockopen langsaaaaaaaam

[php] fsockopen langsaaaaaaaam

Kai Meder php-ml at kai.meder.info
Don Jul 31 18:30:19 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
>
> > Ich habe vergleichbare Erfahrungen gemacht mit dem Versuch einer
> > if(fsockopen($host....)) Abfrage festzustellen, ob der
anzusprechende
> > Server erreichbar ist. Falls nein, dauert es eine halbe Minute oder
> > laenger, bis der Verbindungsaufbau abgebrochen wird, ohne dass ein
niedrig
> > eingestellter Timeout beruecksichtig wird.
>
>
> Da seit HTTP 1.1 defaultmäßig eine dauerhafte Verbindung aufgebaut
> wird, bekommt das genannte Script kein Endesignal (deshalb
> funktioniert es bei einem 500er Fehler!) und wartet das Timeout ab.
>
> Entweder du wertest den Header Content-length aus (der saubere Weg)
> oder du gibst als Protokoll 1.0 an und nicht 1.1, das sollte dann
> funktionieren.


"GET http://localhost/webservices/ HTTP/1.1
User-Agent: vulcan http_request class
Connection: close
Content-Type: text/html
Host: localhost

"

beispielsweise ......
das sollte alles passen oder ? die header-reihenfolge spielt ja keine
rolle oder ?
habe das RFC extra mal durchgelesen .. überall sind CRLFs und am ende
noch ein extra CRLF ....

und es ist einfach sch**ssndreck langsam :(


php::bar PHP Wiki   -   Listenarchive