phpbar.de logo

Mailinglisten-Archive

[php] file_get_contents vs. fsockopen

[php] file_get_contents vs. fsockopen

Sebastian Mendel lists at sebastianmendel.de
Mon Sep 29 09:41:44 CEST 2008


Carlo schrieb:
> Hallo Sebastian,
> 
>>> d.h. ein PHP-Script ist flotter als eine C-Routine, oder wie?
>> um das zu beurteilen müssten wirnatürlcih sehen wie genau dein
>> Code mit fsockopen aussieht ... ich denke mal das du eventuell
>> die Mehrarbeit die file_get_content() macht, um eben die Antwort
>> zu empfangen, du einfach weglässt,
> richtig - aber:
> laut Logfile des Apachen ist die Antwort genau 389 Bytes gross,
> und die schickt er in beiden Fällen raus, erst bei Antworten über
> 80kB, wird wegen fehlendem fread(); die Übertragung gestoppt.

ja na klar schickt der die raus, was ich meinte ist aber das du sie 
höchst wahrscheinlich bei deiner fsock Variante nicht ausliest, sondern 
schon längst deine nächsten Daten schickst - während file_get_content() 
erst die Antwort verarbeitet, außerdem hat file_get_content() ja auch 
wesentlich mehr Overhead, es muss ja erst mal feststellen das es sockets 
benötigt und diese dann starten usw. ... ich finde es nicht 
verwunderlich das bei deinem Fall die Socket-Variante wesentlich 
schneller ist.


> Noch andere Vorschläge?

ich denke mal das, wenn du die Daten wirklich immer einzeln schicken 
musst und dir die Antwort ob es geklappt hat oder nicht egal ist, du mit 
Sockets (socket_write oder socket_sendto) wohl am schnellsten bist - 
ansonsten gebe es da noch die PECL-Erweiterung HTTP mit der du ganz 
gezielt HTTP Requests abschicken kannst - 
http://php.net/manual/en/class.httprequest.php


-- 
Sebastian Mendel

php::bar PHP Wiki   -   Listenarchive