JavaScriptでpingを実行する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptでpingを実行する方法について現役エンジニアが解説しています。pingとは、ネットワーク上のサーバーなどに対して、通信が可能か確認するためのコマンドです。Node.jsのインストール方法やpingを実行する部品のインストール方法、pingを実行する方法を解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaScriptでpingを実行する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptでpingを実行する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

pingとは

pingとは、ネットワーク上のサーバーなどの端末に対して、通信が可能か確認するためのコマンドです。

pingコマンドを実行することで、サーバーがダウンしていないか、応答時間はどのくらいか、通信経路はどうかなどを確認できます。

Windowsならコマンドプロンプト、Macならターミナルのようなコマンドを実行するツールで下記のような形式で実行できます。

ping 【pingを送るホスト、または IPアドレス】

例として、自分の端末を表す127.0.0.1へpingをおこなう場合は下記のようになります。

ping 127.0.0.1

実行して通信が可能な場合は、下記のような行が何度も表示されます。

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.075 ms

止める場合は、WindowsならCtrlとC、MacならcontrolとCを押します。
 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

pingを実行する方法

ブラウザから実行するJavaScript環境で、pingを実行する部品は提供されていません。
今回はサーバーサイドでも使われるJavaScriptの実行環境であるNode.jsからpingを実行する方法を紹介します。
主な手順は下記の3つになります。

  1. Node.jsの環境をつくる
  2. pingを実行する部品をインストールする
  3. JavaScriptでpingを実行する処理を記述する

具体的な方法は次の項目で紹介します。
 

実際に書いてみよう

1、Node.jsの環境をつくる
Node.jsのサイトにて、インストーラーをダウンロードして実行することでNode.jsの環境が作成できます。

2、pingを実行する部品をインストールする
pingを実行する部品(パッケージ)をNode.jsで使うパッケージ(部品)の検索サイトのnpmで探す。
今回はpingと入力して検索します。
表示した一覧からpingというパッケージを下記のコマンドでインストールします。

npm install ping

3、JavaScriptでpingを実行する処理を記述する
好きな名前のjsファイルを作成し、下記の処理を記述します。

var ping = require('ping');

 var host = '127.0.0.1';
    ping.sys.probe(host, function(isAlive){
        var massage = isAlive ? 'host ' + host + ' 通信成功' : 'host ' +
host + ' 通信失敗';
        console.log(massage);
    });

jsファイルがあるディレクトリに移動して、下記のコマンドを実行します。

node 【jsファイルの名前】

通信が成功すると下記のように表示されます。

host 127.0.0.1 通信成功

 

まとめ

JavaScriptからpingを実行する方法を紹介しました。

Node.jsで提供されているパッケージはとても数が多いです。Node.jsのようにすでにあるパッケージを活用することで素早く機能を実現することができます。
 

筆者プロフィール

横山茂雄(よこやましげお)

フリーエンジニアとして活動中。サーバーサイドからフロントまで時代の波に合わせてスキルを変化させてきました。

言語、フレームワーク、DB、現場、いずれも転々としながら、筋トレも欠かさない体育会系エンジニアです。TechAcademyジュニアのゲームアプリコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。