반응형
유니티는 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" 과 같은 도메인 주소만 넘겨야 한다.
반응형
댓글