[Unity] 유니티에서 Ping 체크 하는 방법
본문 바로가기
프로그래밍/Unity

[Unity] 유니티에서 Ping 체크 하는 방법

by [아마군] 2019. 8. 30.
반응형

유니티는 Ping 체크를 위해 UnityEngine:Ping 클래스를 제공한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Net;
 
public void CheckPing(string address)
{
    StartCoroutine(StartPing(address));
}
 
IEnumerator StartPing(string adress)
{
    WaitForSeconds f = new WaitForSeconds(0.05f);
    Ping p = new Ping(adress);
    while (p.isDone == false)
    {
        yield return f;
    }
    PingFinished(p);
}
 
public void PingFinished(Ping p)
{
    // stuff when the Ping p has finshed....
}
cs

 

 

adress 는 ip 주소, 즉 "127.0.0.1" 의 형식으로만 가능하며 "google.com" 같은 형태의 도메인 주소는 사용할 수 없다.

만약 도메인 주소로 입력을 해야 한다면 Dns.GetHostEntry(hostName); 을 이용해서 ip 로 변환해 줘야 한다.

CheckPing(string hostName) 함수를 아래와 같이 수정한다.

 

1
2
3
4
5
6
7
8
9
10
using System.Net;
 
public void CheckPing(string hostName)
{
    IPHostEntry ipEntry = Dns.GetHostEntry(hostName);
    if (ipEntry.AddressList[0!= null)
    {
        StartCoroutine(StartPing(ipEntry.AddressList[0].ToString()));
    }
}
cs

단, 이때 인자로 넘길 hostName 에는 "https://" 는 넣지 않고 "www.naver.com" 과 같은 도메인 주소만 넘겨야 한다.

반응형

댓글