SOCKADDR

SOCKADDR ±¸Á¶Ã¼´Â ƯÁ¤ÇÑ ÇÁ·ÎÅäÄÝ¿¡ Á¾¼ÓµÇ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. sa_family Çʵ带 Á¦¿ÜÇÏ°í SOCKADDR ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ³×Æ®¿÷¹ÙÀÌÆ® ¿À´õ·Î Ç¥ÇöµË´Ï´Ù. Çؼ®ÀÌ Á» ÀÌ»óÇÏÁ®? ¾Æ·¡¿¡ ¿ø¹®À» Æ÷ÇÔ ÇÏ°Ú½À´Ï´Ù.

The SOCKADDR structure varies depending on the protocol selected. Except for the sa_family field, SOCKADDR contents are expressed in network byte order.

¹«½¼ ¸»À̳ı¸¿©? SOCKADDR ±¸Á¶Ã¼´Â ´ÙÁß ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â ¹öŬ¸® ¼ÒÄÏÀÇ ¿ø·¡ ¸ñÇ¥¸¦ ¹Ý¿µÇÏ´Â ÀÇÁö¸¦ ´ã°íÀÖÁÒ. Áï, SOCKADDR ±¸Á¶Ã¼´Â TCP/IP ÇÁ·ÎÅäÄÝ¿¡¼­¸¸ »ç¿ëÇÏ´Â ±¸Á¶Ã¼°¡ ¾Æ´Õ´Ï´Ù. TCP/IP¿¡ ´ëÇÑ ¾îµå·¹½º Á¤º¸¸¦ Ç¥ÇöÇϱâ À§Çؼ­´Â sa_family¿¡ AF_INET »ó¼ö °ªÀ» »ç¿ëÇØ¾ß ÇÏÁÒ. ¸¶Âù°¡Áö·Î ISO ¾îµå·¹½º Á¤º¸¸¦ Ç¥ÇöÇϱâ À§Çؼ­´Â AF_ISO »ó¼ö °ª¿¡ ÀÇÇؼ­ È®Àε˴ϴÙ. SOCKADDR ±¸Á¶Ã¼ÀÇ ³ª¸ÓÁö´Â 14 ¹ÙÀÌÆ®ÀÇ Á¤º¸À̸ç, ÀÌ Á¤º¸ÀÇ ±¸Á¶´Â sa_family ÇʵåÀÇ °ª¿¡ µû¶ó °áÁ¤µÇ°Ô µË´Ï´Ù.

struct sockaddr{
    u_short     sa_family;
    char         sa_data[14];
};

SOCKADDR ±¸Á¶Ã¼ÀÇ °ü¸®¸¦ º¸´Ù ´õ ½±°Ô Çϱâ À§ÇØ À©µµ¿ìÁî ¼ÒÄÏÀº TCP/IP ¾îµå·¹½º¿Í ÀÛ¾÷ÇÒ ¶§ SOCKADDR ±¸Á¶Ã¼¸¦ »ç¿ëÇÏ´Â °Í°ú µ¿ÀÏÇÑ ±¸Á¶Ã¼ÀÎ SOCKADDR_INÀ» ¼±¾ðÇØ ³õ°í ÀÖ½À´Ï´Ù.

ÀÌ ±¸Á¶Ã¼´Â TCP/IP¿Í ÇÔ²² »ç¿ëµË´Ï´Ù. ´Ù¸¥ ÇÁ·ÎÅäÄÝÀº ÀÌ¿Í À¯»çÇÑ ±¸Á¶Ã¼¸¦ »ç¿ëÇÕ´Ï´Ù.

struct sockaddr_in {
     short               sin_family;
     u_short            sin_port;
     struct in_addr   sin_addr;
     char                sin_zero[8];
};

See Also

overview, SOCKADDR_IN, IN_ADDR