Hallo,
folgendes ist gegeben:
(pseudocode)
for($i; $i<100; $i++){
openSocketConnection();
setParameter($i);
readStream();
closeSocketConnection();
}
D.h. in einer Schleife öffne ich jeweils eine SocketVerbindung zu einem Remote-Server, setze verschiedene Parameter und lese dann die Antwort.
Bei EOF schliesse ich die Socketverdindung wieder.
Das geschieht etwa 100 mal.
Leider ist das ganze ziemlich langsam, obwohl jede Antwort nur aus jeweils etwa 500 Zeichen besteht. Ich habe die Zeit zwischen den Verbindungen gemessen, sie beträgt ca. 8 Sekunden.
Eine Antwort sieht so aus:
asf,asfe,asdf, 23423, 234, duId, 3223so, 432 --##--
das --##-- ist ein Marker, der das Ende der Übertragung darstellen soll.
Hat jemand eine Idee, wie sich der Vorgang beschleunigen lassen würde?
Vielen Dank!
ich poste nochmals den PHP Code (der nur testweise ausgeführt ist und somit durchaus verbesserungsbedürftig ist)
for($i=0; $i<100; $i++){
$fp = fsockopen("tcp://example.com", 10502);
fputs($fp, "tc=232");
echo "neue Verbindung\n";
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
while (!feof($fp)) {
$string .= fgets($fp);
}
fclose($fp);
}
}