こんにちは、今日は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);
}
}