ホームページ ウェブフロントエンド jsチュートリアル JavaScript は外部ライブラリを使用せずにサーバーに ping を実行できますか?

JavaScript は外部ライブラリを使用せずにサーバーに ping を実行できますか?

Dec 01, 2024 pm 07:31 PM

Can JavaScript Ping a Server Without Using External Libraries?

JavaScript はサーバーに ping を送信できますか?

Web アプリケーションを作成する場合、外部サーバーの可用性を確認する必要があります。サーバー側スクリプトは「ping」などのコマンドを使用してこのタスクを簡単に実行できますが、この分野における Javascript の機能は制限されています。

しかし、ネイティブの Image オブジェクトを利用する独創的な方法が登場しました。ターゲット サーバーからイメージをロードすることで、JavaScript はリソースを取得するための組み込みメカニズムを利用してサーバーの可用性を判断できます。

実装

次のコード スニペットは、 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);

  }
}
ログイン後にコピー

この関数はイメージ オブジェクトを作成し、そのイメージ オブジェクトのリスナーを設定します。 「onload」イベントと「onerror」イベント。次に、イメージがターゲット サーバーからロードされ、サーバーが応答しない場合に対処するためにタイムアウトが設定されます。結果に基づいて、「good()」または「bad()」メソッドが呼び出され、サーバーの可用性が示されます。

利点

この手法には、いくつかの利点があります。

  • クロスプラットフォーム互換性: さまざまな種類のサーバーで動作し、サポートされます
  • ページ読み込みへの影響が最小限: クライアント側で ping を実行することにより、初期ページ読み込みは影響を受けません。
  • 実装の単純さ:コードは単純で、簡単に統合できます。

アップデート

提示されたソリューションでは、新しいブラウザーとの互換性の問題が発生する可能性があります。最新のアップデートと代替ソリューションについては、付属の GitHub リポジトリを参照してください:

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

以上がJavaScript は外部ライブラリを使用せずにサーバーに ping を実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

jQuery日付が有効かどうかを確認します jQuery日付が有効かどうかを確認します Mar 01, 2025 am 08:51 AM

jQuery日付が有効かどうかを確認します

jQueryは要素のパディング/マージンを取得します jQueryは要素のパディング/マージンを取得します Mar 01, 2025 am 08:53 AM

jQueryは要素のパディング/マージンを取得します

トップ5の日付操作JSプラグイン トップ5の日付操作JSプラグイン Feb 28, 2025 am 12:34 AM

トップ5の日付操作JSプラグイン

10 jqueryプラグインをチェックする価値があります 10 jqueryプラグインをチェックする価値があります Mar 01, 2025 am 01:29 AM

10 jqueryプラグインをチェックする価値があります

10 jQuery Accordionsタブ 10 jQuery Accordionsタブ Mar 01, 2025 am 01:34 AM

10 jQuery Accordionsタブ

jQueryはscrollbarをdivに追加します jQueryはscrollbarをdivに追加します Mar 01, 2025 am 01:30 AM

jQueryはscrollbarをdivに追加します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

See all articles