글
■ 네트워크 바이트 순서(Big Endian) 과 Dotted-Decimal Notation 간의 상호 변환 함수
(1) 네트워크 주소 변환
: sockaddr_in 구조체의 주소멤버의 데이터 타입은 unsigned long 이다.
따라서 IP 주소를 할당하기 위해 십진수 표현방식(Dotted-Decimal Notation)간에 변환 함수를 적절히 사용해야 한다.
=> inet_aton()는 inet_addr()의 개선버전이라고 할 수 있다.
※ inet_addr() 포스팅 참고자료
2012/02/29 - [[ Linux ]/Programming] - inet_addr() - 인터넷 주소 변환
(2) inet_aton() 함수 : Dotted-Decimal Notation을 Big-Endian 32비트 값으로 변환
● 함수원형 : int inet_aton(const char *string, struct in_addr *addr)
● 리턴 값 : 성공 시 = 1 (True)
실패 시 = 0 (False)
< Source >
< Compile & Result >
- 192.168.1.102 의 Unsigned long 타입 Big-Endian 32비트 값은 "6601a8c0" 이다.
- 192.168.1.256 으로 잘못된 값을 입력 했을 때의 결과도 확인 할 수 있다.
'P rogramming > Linux System' 카테고리의 다른 글
좀비프로세스의 원인과 종료 (0) | 2012.03.02 |
---|---|
네트워크 주소 변환 - inet_ntoa() (2) | 2012.02.29 |
네트워크 주소 변환 - inet_addr() (1) | 2012.02.29 |
파일 디스크립터 (File Descriptor) (7) | 2012.02.27 |
Programing 참고사항 (0) | 2012.02.20 |
RECENT COMMENT