Socket structure 에서 질문 있습니다.
글쓴이: kimtakeun / 작성시간: 토, 2003/09/13 - 8:01오후
IPv4 socket address structure 에 대한건데요..
책을 읽다 보니깐 32-bit IPv4 address 에 두가지 다른 방법으로 접근할수 있다고 하더군요.
serv 를 Internet socket address structure 라고 가정하고,
첫번째 방법이 serv.sin_addr 이라고 하는거랑,
두번째 방법으로 serv.sin_addr.s_addr 으로 하는거..
이 두가지 방법이 똑같이 IP address 를 참조하는거라고 하던데..
두가지 차이점이 무엇인지.. 어떨때 뭘 쓰는건지 궁금하네요..
답변 부탁드립니다.. ^^
Forums:
차이점은.
sin_addr 은 in_addr 타입의 structure 이며,
sin_addr.s_addr 은 long 타입입니다.
inet 관련 함수들에 따라서..
in_addr 타입을 요구하는 함수가 있으며,
long 타입을 요구하는 함수가 있습니다.
따라서, 요구하는 타입에 맞춰서 사용하면 되겠죠.
참고적으로, in_addr 타입의 structure 는
멤버라고는 s_addr 만을 가지는 structure 입니다.
inet_aton, inet_addr 이 두 함수 모두 같은 일에 사용하
inet_aton, inet_addr 이 두 함수 모두 같은 일에 사용하며, inet_aton 이 보다 정교하게 검사하여 return 값으로 적법한 주소였는지를 돌려주는 일을 하는 것 외에는 없습니다.
glibc 쪽 library에서는 inet_aton이 inet_addr 내부에서 사용됩니다.
---
http://coolengineer.com
댓글 달기