2008/11/26

C#, IPAddress 및 Port 변환

//IPAddress 를 숫자형으로 반환 받은 경우 문자열로 변환
public string LongToIPAddress(uint IPAddr)
{
  return new System.Net.IPAddress(IPAddr).ToString();
}

//문자열 IPAddress 를 숫자형으로 변환
public uint IPAddressToLong(string IPAddr)
{
  System.Net.IPAddress oIP=System.Net.IPAddress.Parse(IPAddr);
  byte[] byteIP=oIP.GetAddressBytes(); 

  uint ip=(uint)byteIP[3]<<24;
  ip+=(uint)byteIP[2]<<16;
  ip+=(uint)byteIP[1]<<8;
  ip+=(uint)byteIP[0];

  return ip;
}

//byte 단위 값을 숫자형 값으로 변환
public int LocalPort(uint dwLocalPort)
{
    return (int)(((dwLocalPort & 0xFF00) >> 8) | ((dwLocalPort & 0x00FF) << 8));
}

댓글 없음:

댓글 쓰기

가장 많이 본 글