ネットワーク

[C#] Pingを送信する

2021年8月26日

C#でPingを送信するサンプルです。

サンプル

例)「192.168.1.10」に対してPingを送信する


using System.Net.NetworkInformation;

//Pingクラスを生成する
using (Ping ping = new Ping())
{
  //Pingを送信する
  PingReply reply = ping.Send("192.168.1.10");

  //結果を判定する
  if (reply.Status == IPStatus.Success)
  {
    //成功時
    Console.WriteLine("応答:" + reply.Address);
    Console.WriteLine("バイト数:" + reply.Buffer.Length);
    Console.WriteLine("時間(ms):" + reply.RoundtripTime);
    Console.WriteLine("TTL:" + reply.Options.Ttl);
  }
  else
  {
    //失敗時
    Console.WriteLine("応答がありません。理由:" + reply.Status);
  }
}

応答ありの結果例

応答:192.168.1.10
バイト数:32
時間(ms):1
TTL:64

応答なしの結果例

応答がありません。理由:TimedOut

備考

  • Pingを送信するには、System.Net.NetworkInformation.Pingクラスを使用します。
  • Pingを送信する先はIP以外でもマシン名やURLでもOKです。
    (例)PingReply reply = ping.Send("www.yahoo.co.jp");
  • 応答が無い場合は5秒でタイムアウトエラーとなります。

-ネットワーク