[Unity] 11. Get My IP Address

Using Unity;
Using C#;
Using Programming;



데이터 통신을 하기위해서는 TCP/UDP 등을 다룰 줄 알아야 합니다.

그리고 유니티 자체적으로 가지고 있는 UNET도 있습니다.

데이터통신을 하기위한 가장 첫걸음. 바로 IP 주소 확인이 되겠습니다.



using System.Net.Sockets;

private string PleaseMyIPAddress()
{
     IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
     string myIP = string.Empty;
     for (int i = 0; i < host.AddressList.Length; i++)
     {
          if (host.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
          {
               myIP = host.AddressList[i].ToString();
          }
     }
     return myIP;
}

private void Start()
{
        myIP = myIPserch();
}


PleaseMyIPAddress 함수 가져오셔서 그냥 리턴시켜주면 끝납니다.

대부분의 구글링이 여기서 끝나고 복/붙하여 사용하시겠지만 !!



하지만 이 방식에는 한가지 간과한 부분이 있습니다.

PC에 랜카드가 1개 이상일 수 있습니다. 노트북의 경우 무선랜과 유선랜일 수 있죠.

host.AddressList의 for문에서 첫 번째로 찾은 IP만 리턴하고 종료되므로

여러 IP중에서 원하는 IP를 리턴받지 못할 가능성이 존재합니다.








댓글