getsockopt
getsockopt ÇÔ¼ö´Â ¼³Á¤µÈ ¼ÒÄÏ ¿É¼ÇÀÇ °ªÀ» ¾ò¾î³»´Â ÇÔ¼ö ÀÔ´Ï´Ù.
int getsockopt (
SOCKET s,
int level,
int optname,
char FAR* optval,
int FAR* optlen
);
Parameters
s
[ÀÔ·Â] ÀÛ¾÷ ´ë»ó ¼ÒÄÏÀÇ ±â¼úÀÚ(descriptor)¸¦
¸í½ÃÇÕ´Ï´Ù.
level
[ÀÔ·Â] ¼ÒÄÏ ¿É¼Ç ·¹º§ÀÌ Á¤ÀÇ µÇ¸ç, SOL_SOCKET
°ú IPPROTO_TCP Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.
optname
[ÀÔ·Â]ÀÌ ÇÔ¼ö¿¡ ÀÇÇØ¼ ¹ÝȯµÉ(°Ë»öµÉ)
°ª¿¡´ëÇÑ ¼ÒÄÏ ¿É¼ÇÀ» ¸í½ÃÇÕ´Ï´Ù.
optval
[Ãâ·Â] ¿äûµÈ ¿É¼Ç¿¡ ´ëÇÑ ¹ÝȯµÇ´Â ¿É¼Ç°ªÀÌ
ÀúÀåµÉ ¹öÆÛ¿¡ ´ëÇÑ Æ÷ÀÎÅÍ ÀÔ´Ï´Ù.
optlen
[ÀÔ/Ãâ·Â] optval ¹öÆÛÀÇ Å©±â¸¦ ³ªÅ¸³»´Â
Á¤¼ö·Î Æ÷ÀÎÆ® ÇÕ´Ï´Ù.
Remarks
getsockopt ÇÔ¼ö´Â ƯÁ¤ÇÑ ÇüÅÂ(type), ƯÁ¤ÇÑ »óÅÂ(state)·Î ¿¬°ü µÇ¾îÀÖ´Â ¼ÒÄϿɼǿ¡ ´ëÇØ ¼³Á¤µÇ¾î ÀÖ´Â °ªÀ» optval ¸Å°³º¯¼ö¿¡ ÀúÀåÇØ¼ ¾ò¾î³»´Â ÇÔ¼öÀÔ´Ï´Ù. ¿É¼ÇÀº Áߺ¹ ÇÁ·ÎÅäÄÝ ·¹º§·Î Á¸Àç ÇÒ ¼ö ÀÖÁö¸¸. °¡Àå ¿ì¼±½Ã µÇ´Â ¼ÒÄÏ ·¹º§Àº Á¸ÀçÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀº ÆÐŶ¶ó¿ìÆÃÀ̳ª, out-of-band µ¥ÀÌÅÍÀÇ Àü¼Ûµî°ú °°Àº ¼ÒÄÏ¿¬»ê¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.
¼±ÅÃµÈ ¿É¼Ç°ú ¿¬°üµÈ °ªÀº optval ¹öÆÛ·Î ¹Ýȯ µË´Ï´Ù. optlen À¸·Î Æ÷ÀÎÆ® µÇ´Â Á¤¼ö°ªÀº ÀԷ½ÿ¡ optval ¹öÆÛÀÇ Å©±â¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹ÝȯÇÒ ¶§´Â, ¹ÝȯµÇ´Â °ªÀÇ Å©±â·Î optlenÀº ¼ÂÆÃµÉ °ÍÀÔ´Ï´Ù. ¿¹¸¦µé¾î SO_LINGER ¼ÒÄϿɼÇÀ» »ç¿ëÇÒ °æ¿ì¿¡ optlen °ªÀº LINGER ±¸Á¶Ã¼ÀÇ Å©±â¸¦ ¸í½ÃÇØ¾ß ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ´Ù¸¥ ¿É¼ÇµéÀº Á¤¼öÇü(integer)ÀÇ Å©±âÀÔ´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ¸í½ÃµÈ ¸Å°³º¯¼ö¿¡ ÀÇÇØ¼ Á÷Á¢ÀûÀ¸·Î ¶Ç´Â °£Á¢ÀûÀ¸·Î ¸Þ¸ð¸® °ø°£À» ÇÒ´çÇϴµ¥ Ã¥ÀÓÀ» Á®¾ß ÇÕ´Ï´Ù.
¿É¼ÇÀÌ setsockopt ÇÔ¼ö·Î ¼ÂÆÃµÈÀûÀÌ ¾ø´Ù¸é, getsockopt ÇÔ¼ö´Â ¿É¼Ç¿¡ ´ëÇÑ µðÆúÆ® °ªÀ» ¹ÝȯÇÏ°Ô µË´Ï´Ù.
¾Æ·¡¿¡ getsockopt ÇÔ¼ö¿¡ ´ëÇØ¼ Áö¿øµÇ´Â ¿É¼Ç¿¡ ´ëÇØ¼ °£·«È÷ ³ª¿ÇÏ°í ¼³¸í Çß½À´Ï´Ù.
level = SOL_SOCKET
¿É¼Ç°ª(Value) |
µ¥ÀÌÅÍÇüÅÂ(Type) |
ÀǹÌ(Meaning) |
---|---|---|
SO_ACCEPTCONN | BOOL | TRUE ÀÏ °æ¿ì ¼ÒÄÏÀÌ ¸®½¼ Çϰí ÀÖ½À´Ï´Ù. |
SO_BROADCAST |
BOOL |
TRUE ÀÏ °æ¿ì ¼ÒÄÏÀº ºê·Îµåij½ºÆ®(broadcast) ¸Þ½ÃÁö¸¦ Àü¼ÛÇϱâ À§ÇØ ¸¸µé¾îÁ³½À´Ï´Ù. |
SO_DEBUG | BOOL |
TRUE ÀÏ °æ¿ì µð¹ö±ëÀÌ °¡´ÉÇÕ´Ï´Ù. |
SO_DONTLINGER | BOOL | TRUE ÀÏ °æ¿ì SO_LINGER ¿É¼ÇÀº ¹«½ÃµË´Ï´Ù. |
SO_DONTROUTE | BOOL | TRUE ÀÏ °æ¿ì ¶ó¿ìÆÃÀÌ ¹«½ÃµË´Ï´Ù. |
SO_ERROR | int | ¿¡·¯»óŸ¦ ¹ÝȯÇϰí, Ŭ¸®¾î µË´Ï´Ù. |
SO_GROUP_ID | GROUP | ¼ÒÄÏÀÌ ¼ÓÇØÀÖ´Â ±×·ì ½Äº°ÀÚ¸¦ ÀǹÌÇÕ´Ï´Ù. |
SO_GROUP_PRIORITY |
int |
¼ÒÄÏ¿¡ °ü·ÃµÈ ¿ì¼±»çÇ×Àº
¼ÒÄÏ ±×·ìÀÇ ºÎºÐ ÀÔ´Ï´Ù. |
SO_KEEPALIVE | BOOL | TRUE ÀÏ °æ¿ì keepalive°¡ Àü¼ÛµÇ°í ÀÖ½À´Ï´Ù. |
SO_LINGER | struct LINGER | ÇöÀçÀÇ linger ¿É¼ÇÀ» ¹Ýȯ ÇÕ´Ï´Ù. |
SO_MAX_MSG_SIZE |
unsigned int |
SOCK_DGRAM °ú °°Àº ¼ÒÄÏ ÇüÅ¿¡¼ ¸Þ½ÃÁöÀÇ ÃÖ´ë Å©±âÀÔ´Ï´Ù. ½ºÆ®¸² ¼ÒÄÏ¿¡¼´Â ¾Æ¹«·± Àǹ̰¡ ¾ø½À´Ï´Ù. |
SO_OOBINLINE |
BOOL |
TRUE ÀÏ °æ¿ì ¾Æ¿ô¿Àºê¹êµå µ¥ÀÌÅͰ¡ Á¤»óÀûÀÎ µ¥ÀÌÅÍ ½ºÆ®¸²À¸·Î ¼ö½ÅµÇ°í ÀÖ½À´Ï´Ù. |
SO_PROTOCOL_INFO |
WSAPROTOCOL_INFO |
¼ÒÄÏ¿¡ ´ëÇØ ¹ÙÀεåµÈ ÇÁ·ÎÅäÄÝ Á¤º¸¸¦ ³ªÅ¸³À´Ï´Ù. |
SO_RCVBUF | int | ¼ö½Å ¹öÆÛÅ©±â¸¦ ÀǹÌÇÕ´Ï´Ù. |
SO_REUSEADDR |
BOOL |
TRUEÀÏ °æ¿ì ¼ÒÄÏÀº ÀÌ¹Ì »ç¿ëÁßÀÎ ¾îµå·¹½º·Î ¹¿´½À´Ï´Ù. |
SO_SNDBUF | int | Àü¼Û ¹öÆÛÀÇ Å©±â |
SO_TYPE |
int |
¼ÒÄÏÀÇ Å¸ÀÔ (¿¹:SOCK_STREAM, SOCK_DGRAM) |
level = IPPROTO_TCP
TCP_NODELAY |
BOOL |
Àü¼ÛÇÕº´(send coalescing)À» À§ÇØ Nagle ¾Ë°í¸®ÁòÀÌ ºñȰ¼ºÈ µÇ¾ú½À´Ï´Ù. |
Return Values
¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾ÒÀ» °æ¿ì 0À» ¹ÝȯÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì´Â SOCKET_ERROR¸¦ ¹ÝȯÇϰí, WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ƯÁ¤ÇÑ ¿¡·¯ÄÚµå °ªÀ» ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.
Error Codes
WSANOTINITIALISED | ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ¾ø¾ú½À´Ï´Ù. |
WSAENETDOWN | ³×Æ®¿÷ ¼ºê ½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. |
WSAEFAULT | optval ¶Ç´Â optlen ¸Å°³º¯¼ö ÁßÀÇ Çϳª°¡ ¿Ã¹Ù¸£Áö ¾Ê°Å³ª optlen ¸Å°³º¯¼öÀÇ °ªÀÌ ³Ê¹« ÀÛ½À´Ï´Ù. |
WSAEINPROGRESS | ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®Çϰí ÀÖ½À´Ï´Ù. |
WSAEINVAL | level ¸Å°³º¯¼ö°¡ À߸øµÆ°Å³ª, ¾Ë ¼ö ¾ø´Â °ª ÀÔ´Ï´Ù. |
WSAENOPROTOOPT | ¾Ë ¼ö ¾ø´Â ¿É¼ÇÀ̰ųª, Áö¿øÁöÁö ¾Ê´Â ¿É¼ÇÀ» »ç¿ë Çß½À´Ï´Ù. |
WSAENOTSOCK | ±â¼úÀÚ(descriptor)°¡ ¼ÒÄÏ ±â¼úÀÚ°¡ ¾Æ´Õ´Ï´Ù. |
QuickInfo
Windows NT : »ç¿ë°¡´É
Windows :
»ç¿ë°¡´É
Windows CE : ¹öÁ¯ 1.0 ±×¸®°í ±×ÀÌÈÄÀÇ ¹öÁ¯¿¡¼ »ç¿ë°¡´É
Header
:
Win16/32
: winsock.h
Win32-II
: winsock2.h
Import Library :
Win16 : winsock.lib
Win32
: wsock32.lib
Win32-II
: ws2_32.lib
overview, setsockopt, socket, WSAAsyncSelect, WSAConnect, WSAGetLastError, WSASetLastError