Tom: Skript Dollarkurs - wer kennt Alternativen

Beitrag lesen

Hello,

$handle = fopen("http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=EUR&ToCurrency=USD", "rb");
$contents = stream_get_contents($handle);
fclose($handle);

Dann lese ich den Dollarkurs mit echo $contents aus.

Wie und wann kommt also das Timeout ins Spiel?

Um das besser zu kontrollieren solletst du du mit fsockopen() oder cURL arbeiten - für fopen() kannstdu den timeout mit  stream_set_timeout() setzen.

Das ist der Timeout für die Leseanforderung, also die Bytes, die Du zum Lesen in Auftrag gibst.
Der Timeout für die Öffnungsanforderung (also bei Remote-Öffnung den Socket) bleibt davon noch unbeeindruckt. Wenn man keinen Socket bekommt, muss man trotzdem bis zum Timeout des Sockets warten.

Die Konfigurationsparameter und die Funktionen dafür sind sehr verwirrend benannt.

default_socket_timeout     regelt den Timeout für die Verbindungsaufnahme,
                              also das Anfordern und Erhalten eines gültigen Sockets

setzen kannst Du den mit ini_set() oder bei Verwendung von
                              fsockopen() temporär durch das

stream_set_timeout()       Syononyme. Regeln beide den Timeout Datenübertragung auf einem
   socket_set_timeout()       bereits gültigen (offenen) Socket.

Das kann man aufgrund der schlechten Symbolwahl leider schnell durcheinanderbringen

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de