Jörg: Prüfung ob Server online

Hallo helfende Gemeinde, meine letzte Hoffnung!

Hab ein Problem, dass wie ich denke in Javascript zu lösen sein sollte (wenn man es kann ;-) )

Ich suche ein Script das bei einem Seitenaufruf einer Webseite prüft ob ein bestimmter Server gerade online ist oder nicht. Sollte der gesuchte Server online sein, erscheint eine Grafik, die zeigt das der entfernte Server bzw. die URL online ist, ist der Server nicht online, erscheint die entsprechnde andre Grafik.

Vom entfernten Server, der temporär online ist, ist zwar die URL bekannt, nicht aber die IP Adresse (Server über dynamische IP Zuweisung erreichbar).

Außerdem sollte die Webseite, welche dann mit dem importieren Script auf Verfügbarkeit des Servers prüft, nicht ewig und 3 tage suchen ob der Server da ist und dann erst angezeigt werden.

Am besten wäre es, wenn der Seiteninhalt geladen wird, und dann erst die Prüfung erscheint, so dass der Surfer nur auf die Meldung online oder nicht warten muss, nicht aber auf den ganzen Seiteninhalt.

Hat das jetzt einer kapiert?

Ihr würdet mir enorm helfen und ich wäre sehr dankbar, wenn mir jemand dafür eine Javascript Lösung schreiben könnte, die ich dann in die Webseite einbinden kann, sofern dies überhaupt machbar ist.

Warte sehnsüchtig auf eure Antwort.

Cu, Jörg

  1. Hallo,

    das was Du vorhast ist mit JS nicht direkt zu realisieren.
    Ich könnte mir aber eine Sache vorstellen, mit der es eventuell funktionieren könnte, allerdings wird dann vermutlich das eintreten, was Du zu verhindern versucht: Es dauert, bis die Seite aufgebaut wird.

    Meine Idee ist folgende: Du erstellst eine Funktion, die einen bestimmten Varablenwert überprüft (server="online/offline") und dann das gewünschte Bild anzeigt. Soweit noch "normal". Zu Beginn des Scripts, welches in der Seite eingebettet ist definierst Du den Wert der Variablen server="offline". Dann bindest Du _NACH_ dem Skript eine externe JS-Datei ein, die von dem zu prüfenden Server geladen wird. In diesem Script steht nur server="online". Damit wird der Varaiblenwert überschrieben. Anschließend wird per onLoad die oben beschriebene Prüf-Funktion aufgerufen. Wenn der Server online ist, ist server="online", falls der Server offline ist (und so die JS-Datei nicht liefern kann), ist server="offline". Den Rest kannst Du Dir ja selber überlegen.

    Nachteil: Wenn der zu prüfende Server offline ist, dauert es eine Weile, bis der Browser da merkt (timeout). Innerhalb dieser Zeit kannes sein, daß die Seite noch nicht angezeigt und aufgebaut wird.
    Kannst es ja einfach mal testen und Deine Ergebnisse hier posten.

    Vielel Grüße....

    Alex :)

    1. Hi Alex,

      danke für deine Mail, werde es mal ausprobieren. Das kann aber etwas dauern.

      Nachteil: Wenn der zu prüfende Server offline ist, dauert es eine Weile, bis der Browser da merkt (timeout). Innerhalb dieser Zeit kannes sein, daß die Seite noch nicht angezeigt und aufgebaut wird.

      Kann man das nicht irgendwie auf einen kleinen Bereich der Seite minimieren? Zuerst wird der Hauptteil der Seite geladen und dann der html Teil  "online oder offline"
      Gibt es sowas wie html in html? (au8er frames)

      Kannst es ja einfach mal testen und Deine Ergebnisse hier posten.

      Werde ich dann machen, danke cu Jörg

  2. Hallo Jörg,

    Sollte der gesuchte Server online sein, erscheint eine Grafik, die zeigt das der entfernte Server bzw. die URL online ist, ist der Server nicht online, erscheint die entsprechnde andre Grafik.

    Außerdem sollte die Webseite, welche dann mit dem importieren Script auf Verfügbarkeit des Servers prüft, nicht ewig und 3 tage suchen ob der Server da ist und dann erst angezeigt werden.

    Du könntest gleich die Antwortseite laden, die dann aber erstmal eine Grafik "Suche Server..." enthält. In einem anschließenden Scriptbereich versuchst du, von diesem Server ein 1-Pixel-Gif zu laden (var pic=new Image(); pic.src="...";), und fragst nach einem angemessenen Timeout, ob das geklappt hat (pic.complete). Abhängig vom Ergebnis ersetzt du "Suche Server..." durch die entsprechende Meldung.

    Ihr würdet mir enorm helfen und ich wäre sehr dankbar, wenn mir jemand dafür eine Javascript Lösung schreiben könnte, die ich dann in die Webseite einbinden kann, sofern dies überhaupt machbar ist.

    Das mit dem Schreiben schaffst du jetzt doch sicher selbst.

    Grüße, Stefan