こんにちは、今日はUnityでpingを実行する方法についてまとめていきます。
確認環境
Unity 2018.4.15f1
pingの実行方法
UnityEngine.Pingクラスを使用します。
以下のようにPingクラスのコンストラクタにIPアドレス文字列を渡すとそのIPアドレスに対してpingが実行されます。
Ping ping = new Ping("XXX.XXX.XXX.XXX");
ping完了時にはPingクラスに定義されているisDoneがtrueになり、timeにその時間が格納されます。
サンプル
pingを実行し、0.1秒ごとに完了しているか確認、完了していたらIPアドレスとかかった時間をConsoleに出力するサンプルです。
using System.Collections;
using UnityEngine;
public class TestScript : MonoBehaviour
{
    Ping ping;
    void Start()
    {
        ping = new Ping("XXX.XXX.XXX.XXX");
        StartCoroutine("PingTest");
    }
    IEnumerator PingTest()
    {
        if (!ping.isDone) yield return new WaitForSeconds(.1f);
        Debug.Log("ping.ip : " + ping.ip);
        Debug.Log("ping.time : " + ping.time);
    }
}