/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Time out ved læsning af filer over nettet
Fra : Arne Feldborg


Dato : 11-01-04 00:22


Hejsa..

Jeg læser lejlighedsvis nogle datafiler (i html-format) over nettet.

Men det sker jo en gang imellem at serveren ikke lige svarer eller at
nettet bare kører i slowmotion. Det giver mig vise problemer som jeg
ikke lige kan overskue.

Der sker nemlig det, at scriptet bare venter og venter og venter og så
tilsidst timer out. Der må da findes en metode til at spørge igen eller
bare gå videre til den næste side efter x-antal sekunders manglende
svar.?

Jeg læser normalvis siderne ind ned enten file() eller fgets() og det
virker upåklageligt i 9 ud af 10 tilfælde. Men i andre tilfælde står
scriptet bare og venter på svar.

Jeg har prøvet med noget a'la:

$url = 'http://www.my.domaine/mappe/side.html';
$inf = fopen ($url, "r");
if (!$inf){
   echo 'Fejl, filen kunne ikke hentes';
   return;
}

Og det virker også fint hvis siden slet ikke findes, men hvis siden
findes og der er blot en minimal forsinkelse i transmissionen så sker
der ikke mere. Og da det er et script der totalt set tager lang tid at
afvikle er Timeout sat rimeligt højt.

Nogen gode forslag, eller er der noget jeg har overset.?


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bølling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

 
 
Christian Joergensen (11-01-2004)
Kommentar
Fra : Christian Joergensen


Dato : 11-01-04 01:32

On Sun, 11 Jan 2004 00:21:48 +0100, Arne Feldborg wrote:

> Der sker nemlig det, at scriptet bare venter og venter og venter og så
> tilsidst timer out. Der må da findes en metode til at spørge igen eller
> bare gå videre til den næste side efter x-antal sekunders manglende
> svar.?

Du kan enten bruger curl <http://php.net/curl>, eller bruger skrive din
egen implementation af HTTP protokollen vha. fsockopen()
<http://php.net/fsockopen> (lyder af mere end det er :)).

--
Christian Jørgensen | Use the Source, Luke!
http://www.razor.dk |


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste