ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は外部ライブラリを使用せずにサーバーに ping を実行できますか?
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()」メソッドが呼び出され、サーバーの可用性が示されます。
利点
この手法には、いくつかの利点があります。
アップデート
提示されたソリューションでは、新しいブラウザーとの互換性の問題が発生する可能性があります。最新のアップデートと代替ソリューションについては、付属の GitHub リポジトリを参照してください:
[https://github.com/jdfreder/pingjs](https://github.com/jdfreder/pingjs)
以上がJavaScript は外部ライブラリを使用せずにサーバーに ping を実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。