[PHP] Fsockopen timeout

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 00:01

me1299

$ondertitel

Topicstarter
Ik werk met fsockopen om een verbinding te maken naar een proxy server. Dat werkt nu leuk en aardig ik heb ook een functie gemaakt om te checken of er een timeout plaatsvind:

PHP:
1
2
3
4
5
6
7
8
9
function timeout_status($fp) {
    $status = stream_get_meta_data($fp);

    if($status['timed_out'] == 1) {
        return(true);
    } else {
        return(false);
    }
}


Dat werkt leuk en aardig, maar nu heb ik het volgende:

PHP:
1
2
3
4
5
6
7
while (!feof($fp)) {
    $get_content .= fgets ($fp,128);

    if(timeout_status($fp) == true) {
        $results[$proxy_count]['error'] = "Timeout";
    }
}


Hij gaat dus alles ophalen van wat de proxy heeft gedownload, nu geeft hij opzich mooi een timeout als hij ook een timeout krijgt.

Maar het probleem is dat die while lus mooi gewoon door gaat. Dus eigenlijk moet hij alsnog wachten tot hij klaar

Nu heb ik twee vragen:

1 Is het toevallig niet zo dat alle op te halen data eigenlijk al binnen is, dus dat die while lus eigenlijk altijd heel snel zal gaan?

2 Hoe kan ik als dat niet zo is (en volgens mij is punt 1 niet waar) de while lus verbreken als mijn if statement waar is en daarna vrolijk verder gaan met wat er onder de while lus komt?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
2: break;

[ Voor 20% gewijzigd door SWfreak op 24-04-2003 14:30 ]


Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 00:01

me1299

$ondertitel

Topicstarter
:o heel erg bedankt.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen