Heim > Web-Frontend > js-Tutorial > Kann JavaScript einen Server anpingen, ohne externe Bibliotheken zu verwenden?

Kann JavaScript einen Server anpingen, ohne externe Bibliotheken zu verwenden?

Patricia Arquette
Freigeben: 2024-12-01 19:31:10
Original
145 Leute haben es durchsucht

Can JavaScript Ping a Server Without Using External Libraries?

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);

  }
}
Nach dem Login kopieren

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:

  • Plattformübergreifende Kompatibilität: Funktioniert auf verschiedenen Servertypen und unterstützt Ports.
  • Minimale Auswirkung auf das Laden der Seite: Durch die clientseitige Durchführung des Pings bleibt das anfängliche Laden der Seite unberührt.
  • Einfache Implementierung: Der Code ist unkompliziert und leicht zu integrieren Anwendungen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage