두근두근이야기

struct sockaddr_in struct sockaddr 본문

IT/IT ::Linux

struct sockaddr_in struct sockaddr

골든 2013. 8. 12. 15:07

sockaddr(2바이트 + 14바이트)

sockadd_in(2바이트 + 2바이트 + 4바이트 + 8바이트)

이 둘은 정확하게 16바이트로 사이즈가 같다.

사용하기 쉽게 하려고 세분화 한 것

sockaddr_in 

 struct sockaddr_in

{

    short sin_family; //2byte

     unsigned short sin_port; //2byte

     IN_ADDR sin_addr; //4byte

     char sin_zero[8]; //8byte

};

IN_ADDR은 다음과 같다. union이기에 총 4바이트가 된다.

struct in_addr

{

     union{

          struct{u_char s_b1, s_b2, s_b3, s_b4}S_un_b; //4byte

          struct{u_short s_w1, s_w2}S_un_w; //4byte

          u_long S_addr; //4byte

     }S_un;

};


 sockaddr

 struct sockaddr{

     u_short sa_family; //2byte

     char sa_data[14]; //14byte

};




'IT > IT ::Linux' 카테고리의 다른 글

level trigger, edge trigger  (0) 2013.08.12
time_wait관련글  (0) 2013.08.12
우분투(ubuntu) man page 설치  (0) 2013.08.09
뮤텍스와 세마포어 차이  (0) 2013.08.09
mq함수류 오류 해결  (0) 2013.08.09