timeout einbauen?

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von marcc, 15.04.2008.

  1. marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    hallo, ich bastl grad mit php und steh vor einem 'kleinen' aber interessanten problem ;)
    Ich hab ein scipt auf meiner hp eingebaut um dort zu prüfen ob apache auf meinem heimrechner läuft (ich also on bin..).
    das funktioniert auch alles mit dyndns.org.
    nur wenn ich eben off bin dauert es 30sek. bis er erkennt dass meine dyndns domain nicht erreichbar ist :(
    wie kann man hier ein timeout einbauen, z.b. 5 sek -> dann else zweig oder so?

    PHP:
    <?
    $host "domain.dyndns.org"//IP Adresse oder DNS
    $check fsockopen($host80); // 80 = HTTP Server
    if($check) {

    echo 
    "online";

    } else {

    echo 
    "offline";

    }
    ?> 
    mfg marc.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. x0r

    x0r Bitschubser

    Dabei seit:
    20.12.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Berlin
    Mahltid,

    Dein Problem ist, dass ein Timeout den Anwendungsfokus schnappen wird, was zur Folge hat, dass nach Ablauf des Timeouts dann immer noch fsockopen abgearbeitet werden muss. Das dürfte die Wartezeit noch verlängern.

    pcntl_alarm() im zusammenspiel mit pcntl_exec() trifft es wohl am ehesten via
    http://www.php.net/manual/de/intro.pcntl.php
    kannst Du Dich zum Thema Prozesskontrolle einlesen...

    Könntest aber auch den TTL wert für die Lebensdauer von PP-skripten in deiner PHP-ini neu setzen.

    MfG..
     
  4. marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    danke für die schnelle antwort.
    Ich hab grad einen kumpel gefragt und der hat mir das geschickt:
    PHP:
    <?php
    system
    ('ping -c 1 www.google.de >>/dev/null'$retval);
    if (
    intval($retval) > 0) {
        echo 
    "offline";
    } else {
        echo 
    "online";
    }

    ?>
    ;) hammer!

    sonst wär es wahrscheinlich irgendwie so gegangen:
    PHP:
    <?php
    $fp 
    fsockopen("www.example.com"80);
    if (!
    $fp) {
        echo 
    "Unable to open\n";
    } else {

        
    fwrite($fp"GET / HTTP/1.0\r\n\r\n");
        
    stream_set_timeout($fp2);
        
    $res fread($fp2000);

        
    $info stream_get_meta_data($fp);
        
    fclose($fp);

        if (
    $info['timed_out']) {
            echo 
    'Connection timed out!';
        } else {
            echo 
    $res;
        }
    }
    ?>
    habs aber nicht ausprobiert.
     
Thema:

timeout einbauen?

Die Seite wird geladen...

timeout einbauen? - Ähnliche Themen

  1. Timeout für Long Time Querys

    Timeout für Long Time Querys: Hi, ich habe ein kleines Script für Cronjob Aufrufe. Nun ist das Problem das ich die Einstellungen von SQL und PHP so setzen (musste) das die...
  2. "send: Cannot determine peer address" nach Timeout mit UDP Server -Perl Socket eval{}

    "send: Cannot determine peer address" nach Timeout mit UDP Server -Perl Socket eval{}: Mahlzeit, ich habe ein kleines Problem und würde mich über eure Mithilfe freuen! Folgender UDP-Server soll nach einem Timeout über eval{}...
  3. Login (10sec timeout) SSH

    Login (10sec timeout) SSH: Hallo, ich habe eine CentOS 5.5 Root-Server den ich per SSH verwalte. Nun habe ich folgendes Problem: Wenn ich mich mit den Server per SSH...
  4. IP Timeouts, VPN Timeouts, reordering timeout erhöhen

    IP Timeouts, VPN Timeouts, reordering timeout erhöhen: Hallo. Wie kann ich unter Linux die Timeouts für IP, und für PPTP Verbindungen ( reordering timeout ) erhöhen? Ich habe mit der UMTS...
  5. TimeOut

    TimeOut: Hallo, bin es mal wieder mit einer neuen frage: Nun habe ich meinen apache soweit, das alles über ssl läuft. Nun meine frage: Wie kann...