Rumah > hujung hadapan web > tutorial js > Bolehkah JavaScript Ping Pelayan Tanpa Menggunakan Perpustakaan Luaran?

Bolehkah JavaScript Ping Pelayan Tanpa Menggunakan Perpustakaan Luaran?

Patricia Arquette
Lepaskan: 2024-12-01 19:31:10
asal
145 orang telah melayarinya

Can JavaScript Ping a Server Without Using External Libraries?

Bolehkah Javascript Ping Pelayan?

Apabila membuat aplikasi web, adalah perlu untuk menentukan ketersediaan pelayan luaran. Walaupun skrip sebelah pelayan boleh melaksanakan tugas ini dengan mudah menggunakan arahan seperti "ping", keupayaan Javascript dalam kawasan ini telah terhad.

Walau bagaimanapun, kaedah yang bijak telah muncul menggunakan objek Imej asli. Dengan memuatkan imej daripada pelayan sasaran, Javascript boleh mengeksploitasi mekanisme terbina dalam untuk mengambil sumber untuk menentukan ketersediaan pelayan.

Pelaksanaan

Coretan kod berikut menggambarkan fungsi utama untuk melaksanakan ping:

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

  }
}
Salin selepas log masuk

Fungsi mencipta objek imej dan menetapkan pendengar untuk acara "onload" dan "onerror". Imej itu kemudiannya dimuatkan daripada pelayan sasaran, dan tamat masa ditetapkan untuk mengendalikan kes di mana pelayan tidak bertindak balas. Berdasarkan keputusannya, kaedah "baik()" atau "buruk()" dipanggil untuk menunjukkan ketersediaan pelayan.

Faedah

Teknik ini menawarkan beberapa kelebihan:

  • Keserasian merentas platform: Ia berfungsi pada pelbagai jenis pelayan dan sokongan port.
  • Impak muat halaman minimum: Dengan melakukan bahagian klien ping, pemuatan halaman awal tidak terjejas.
  • Kesederhanaan pelaksanaan: Kod ini mudah dan mudah untuk disepadukan aplikasi.

Kemas kini

Penyelesaian yang dibentangkan mungkin mengalami masalah keserasian dengan penyemak imbas yang lebih baharu. Untuk mendapatkan kemas kini terkini dan penyelesaian alternatif, rujuk repositori GitHub yang disertakan:

[https://github.com/jdfreder/pingjs](https://github.com/jdfreder/pingjs)

Atas ialah kandungan terperinci Bolehkah JavaScript Ping Pelayan Tanpa Menggunakan Perpustakaan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan