Kann Javascript einen Server anpingen?
Beim Erstellen von Webanwendungen ist es notwendig, die Verfügbarkeit externer Server zu ermitteln. Während serverseitige Skripte diese Aufgabe problemlos mit Befehlen wie „ping“ ausführen können, waren die Fähigkeiten von Javascript in diesem Bereich begrenzt.
Es ist jedoch eine geniale Methode entstanden, die das native Image-Objekt nutzt. Durch das Laden eines Bildes vom Zielserver kann Javascript die integrierten Mechanismen zum Abrufen von Ressourcen nutzen, um die Serververfügbarkeit zu ermitteln.
Implementierung
Der folgende Codeausschnitt veranschaulicht dies Hauptfunktion zum Ausführen des Pings:
function Pinger_ping(ip, callback) { if(!this.inUse) { this.inUse = true; this.callback = callback this.ip = ip; var _that = this; this.img = new Image(); this.img.onload = function() {_that.good();}; this.img.onerror = function() {_that.good();}; this.start = new Date().getTime(); this.img.src = "http://" + ip; this.timer = setTimeout(function() { _that.bad();}, 1500); } }
Die Funktion erstellt ein Bildobjekt und setzt Listener für das „onload“ und „onerror“-Ereignisse. Das Bild wird dann vom Zielserver geladen und ein Timeout wird festgelegt, um den Fall zu behandeln, dass der Server nicht antwortet. Basierend auf dem Ergebnis werden die Methoden „good()“ oder „bad()“ aufgerufen, um die Serververfügbarkeit anzuzeigen.
Vorteile
Diese Technik bietet mehrere Vorteile:
Updates
Bei der vorgestellten Lösung können Kompatibilitätsprobleme mit neueren Browsern auftreten. Die neuesten Updates und alternativen Lösungen finden Sie im mitgelieferten GitHub-Repository:
[https://github.com/jdfreder/pingjs](https://github.com/jdfreder/pingjs)
Das obige ist der detaillierte Inhalt vonKann JavaScript einen Server anpingen, ohne externe Bibliotheken zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!