IP Address를 Long type으로 변환하기
Posted at 2006. 3. 7. 18:20 | Posted in 프로그래밍/ASP, Javascript국가별 IP 테이블에서 값을 비교하기 위해 "xxx.xxx.xxx.xxx" 형식의 IP Address를 다음과 같이 DB에 있는 값과 비교할 수 있도록 변환해준다.
아래 예제는 C#에서 사용하고 있는 클래스중 값을 IP Address를 Long 타입으로 변환하는 함수이다.
static public uint IPAddressToLongBackwards(string IPAddr)
{
System.Net.IPAddress oIP=System.Net.IPAddress.Parse(IPAddr);
byte[] byteIP=oIP.GetAddressBytes();
uint ip=(uint)byteIP[0]<<24;
ip+=(uint)byteIP[1]<<16;
ip+=(uint)byteIP[2]<<8;
ip+=(uint)byteIP[3];
return ip;
}
실제 SQL 문은 다음과 같이 구성하면 된다. 아래 예제 SQL문에서 @ipaddr_no는 위의 함수를 이용하여 변환된 값이다.
SELECT * FROM GeoIPCountryWhois WHERE @ipaddr_no BETWEEN start_ip_no AND end_ip_no
'프로그래밍 > ASP, Javascript' 카테고리의 다른 글
한글입력안되게 하기 (0) | 2006.04.13 |
---|---|
ASP에서 BASE64를 지원해주는 라이브러리입니다. (0) | 2006.03.21 |
ASP 에서 UTF-8 처리 (0) | 2006.03.14 |
테이블에서 강제 줄바꿈 (0) | 2006.03.13 |
입력폼 한글체크 자바스크립트 (0) | 2006.02.21 |