'IP변환'에 해당되는 글 1건

  1. 2011.07.14 네트워크 ip주소 변환
기초/socket programming2011. 7. 14. 13:53

inet_addr()

inet_addr() 예제

 

inet_aton 예제

1. inet_addr()함수

이 함수는 Dotte-Decimal Notation 형식을 빅엔디안 32비트 값으로 변환시켜줍니다.

unsigned long inet_addr(const char *string);

위가 함수의 원형인데 함수 파라미터 값에 IP주소 문자열의 시작주소를 넣어주면 이 함수가 알아서 빅엔디안 32비트 unsigned long 형의 값으로 만들어줍니다.

성공하면 빅엔디안 형식의 32비트 값을, 실패하면 INADDR_NONE을 리턴합니다.

INADDR_NONE은 실제로 -1로 선언되어 있습니다.

 

 

2. inet_aton()함수

이 함수는 기본적으로 주소 문자열을 빅엔디안 32비트 값으로 변환 시켜주는건 inet_addr()함수와 같지만 다른 점이 있습니다.

inet_addr()함수는 변환된 값을 sockaddr_in 구조체의 맴버변수 안에 또 선언된 in_addr 구조체에 값을 대입해주어야 합니다. 하지만 inet_aton()함수는 자동으로 값을 대입시켜줍니다.

따라서 따로 대입해야 할 필요가 없어집니다. 먼저 이것이 함수의 원형입니다.

int inet_aton(const char *string, struct in_addr *addr);

첫번째 파라미터 값은 주소 문자열이 있는 포인터변수가 들어가고 두번째 파라미터 값은 구조체 맴버변수중 주소값이 들어가는 맴버변수의 주소값을 넣어주시면 됩니다.

함수를 성공시키면 0이 아닌값, 실패하면 0이 리턴됩니다.

이 함수는 inet_addr()함수보다 편리하게 사용할 수 있습니다.

'기초 > socket programming' 카테고리의 다른 글

서버 분류  (0) 2011.07.14
클라이언트 주소 출력  (0) 2011.07.14
네트워크 저장방식  (0) 2011.07.14
주소 구조체  (0) 2011.07.14
소켓통신  (0) 2011.07.14
Posted by ICT 기술 블로그