首頁 > web前端 > js教程 > JavaScript 可以在不使用外部程式庫的情況下 Ping 伺服器嗎?

JavaScript 可以在不使用外部程式庫的情況下 Ping 伺服器嗎?

Patricia Arquette
發布: 2024-12-01 19:31:10
原創
148 人瀏覽過

Can JavaScript Ping a Server Without Using External Libraries?

Javascript 可以 Ping 一個伺服器嗎?

建立 Web 應用程式時,有必要確定外部伺服器的可用性。雖然伺服器端腳本可以使用「ping」等命令輕鬆執行此任務,但 Javascript 在這方面的功能受到限制。

然而,出現了一種利用本機 Image 物件的巧妙方法。透過從目標伺服器載入圖像,Javascript 可以利用內建的資源獲取機制來確定伺服器可用性。

實作

以下程式碼片段說明了用於執行ping 的main 函數:

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

  }
}
登入後複製

此函數建立一個影像物件並為「 onload”設定偵聽器“onerror”事件。然後從目標伺服器載入圖像,並設定超時來處理伺服器不回應的情況。根據結果,呼叫“good()”或“bad()”方法來指示伺服器可用性。

優點

此技術有下列幾個優點:

  • 跨平台相容性:它適用於各種伺服器類型並支援
  • 最小的頁面載入影響:透過執行客戶端,初始頁面載入不受影響。
  • 實現的簡單性:程式碼簡單明了,易於整合應用程式。

更新

所提供的解決方案可能會遇到與較新瀏覽器的兼容性問題。有關最新更新和替代解決方案,請參閱隨附的GitHub 儲存庫:

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

以上是JavaScript 可以在不使用外部程式庫的情況下 Ping 伺服器嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板