setsockopt

setsockopt ÇÔ¼ö´Â ¼ÒÄÏ ¿É¼ÇÀ» ¼³Á¤ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.

int setsockopt (
        SOCKET
 s,
        int  
level,
        int
 optname,
        const char FAR *
  optval,
        int  
optlen
);

 

Parameters

s
[ÀÔ·Â] ´ë»ó ¼ÒÄÏÀÇ ±â¼úÀÚ(descriptor)¸¦ ¸í½ÃÇÕ´Ï´Ù.

level
[ÀÔ·Â] ¼ÒÄÏ ¿É¼Ç ·¹º§ÀÌ Á¤ÀÇ µÇ¸ç, SOL_SOCKET °ú IPPROTO_TCP Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.

optname
[ÀÔ·Â] ¼ÂÆà ÇϱâÀ§ÇÑ ¼ÒÄÏ¿É¼Ç °ªÀÔ´Ï´Ù.

optval
[ÀÔ·Â] °Ë»öµÈ ¿É¼ÇÀ» ÀúÀå ÇϱâÀ§ÇÑ µ¥ÀÌÅÍ ¹öÆÛ¸¦ Æ÷ÀÎÆ® ÇÕ´Ï´Ù.

optlen
[ÀÔ·Â]
optval ¸Å°³º¯¼ö ¹öÆÛÀÇ Å©±â

Remarks

setsockopt ÇÔ¼ö´Â ÁöÁ¤µÈ ¼ÒÄÏÀÇ ¿É¼ÇÀ» ƯÁ¤ÇÑ ÇüÅÂ(type), »óÅÂ(state)·Î °áÇÕÇϱâ À§Çؼ­ ÁöÁ¤ÇÑ ¼ÒÄÏ¿É¼Ç °ªÀ» ¼ÂÆÃÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù. ºñ·Ï ¿©·¯ ÇÁ·ÎÅäÄÝ ·¹º§·ÎÀÇ ¼ÒÄÏ ¿É¼ÇÀÌ Á¸Àç ÇÒ ¼ø ÀÖ´Ù ÇÏ´õ¶óµµ, °¡Àå ¿ì¼±ÇÏ´Â ·¹º§ÀÌ Á¸ÀçÇÏ°Ô µË´Ï´Ù. ¿É¼ÇÀº ¼ÒÄÏ ¿¬»ê¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ¿¹¸¦µé¾î ¹ß¼ÛµÈ µ¥ÀÌÅÍ(OOB µ¥ÀÌÅ͸¦ ¿¹·Î µé ¼ö ÀÖ½À´Ï´Ù) ¸¦ ÀÏ¹Ý µ¥ÀÌÅÍ ½ºÆ®¸²À¸·Î ¼ö½ÅÇßÀ»¶§³ª, ¼ÒÄÏÀ¸·Î ºê·Îµåij½ºÆ®(broadcast) ¸Þ¼¼Áö¸¦ Àü¼ÛÇÒ¶§ ¿µÇâÀ» ¹ÌÄ¡°Ô µË´Ï´Ù.

ÀÌ ÇÔ¼ö¿¡¼­ »ç¿ë ÇÒ ¼ö ÀÖ´Â µÎ°¡Áö ÇüÅÂÀÇ ¼ÒÄϿɼÇÀÌ ÀÖ½À´Ï´Ù. È°¼ºÈ­ ¶Ç´Â ºñÈ°¼ºÈ­ ½ÃÅ°±â À§ÇÑ Boolean ¿É¼Ç°ú, Á¤¼öÇü(integer) ¶Ç´Â ±¸Á¶Ã¼¸¦ ¿ä±¸ÇÏ´Â ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù. Boolean ¿É¼ÇÀ» È°¼ºÈ­ Çϱâ À§Çؼ­ optval ¸Å°³º¯¼ö´Â 0ÀÌ ¾Æ´Ñ Á¤¼ö¸¦ Æ÷ÀÎÆ® ÇÏ°í, ºñÈ°¼ºÈ­ Çϱâ À§Çؼ­  0À» Æ÷ÀÎÆ® ÇÕ´Ï´Ù. optlen ¸Å°³º¯¼ö´Â Boolean ¿É¼Ç¿¡ ´ëÇؼ­´Â sizeof(int)·Î ¼³Á¤ Çؾ߸¸ ÇÕ´Ï´Ù. ´Ù¸¥ ¿É¼Çµé¿¡ ´ëÇؼ­, optval ¸Å°³º¯¼ö´Â ¼³Á¤ÇÏ°íÀÚ ÇÏ´Â Á¤¼ö(integer)³ª ±¸Á¶Ã¼¸¦ ³Ñ°Ü¾ß ÇÏ°í, optlen ¸Å°³º¯¼ö´Â Á¤¼ö(integer) ¶Ç´Â ±¸Á¶Ã¼ÀÇ ±æÀ̸¦ ³Ñ°Ü¾ß ÇÕ´Ï´Ù. ¾Æ·¡¿¡ setsockopt ÇÔ¼ö¿¡¼­ »ç¿ë ÇÒ ¼ö ÀÖ´Â ¿É¼ÇµéÀ» °£´ÜÇÑ ¼³¸í°ú ÇÔ²² ³ª¿­ ÇØ º¸¾Ò½À´Ï´Ù.

level = SOL_SOCKET

¿É¼Ç°ª(Value)

µ¥ÀÌÅÍÇüÅÂ(Type)

ÀǹÌ(Meaning)

SO_BROADCAST
 

BOOL
 

¼ÒÄÏÀ¸·Î ºê·Îµåij½ºÆ®(broadcast) ¸Þ¼¼Áö¸¦ Àü¼Û ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

SO_DEBUG

BOOL

µð¹ö±ë Á¤º¸¸¦ ·¹ÄÚµù ÇÕ´Ï´Ù.

SO_DONTLINGER



BOOL


 

¼ÒÄÏÀ» Á¾·á(close)ÇÒ¶§ º¸³»ÁöÁö ¾ÊÀº µ¥ÀÌÅ͸¦ º¸³»±âÀ§Çؼ­ ºí·°Å· »óÅ°¡ µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀ» ¼ÂÆÃÇÏ´Â °ÍÀº LINGER ±¸Á¶Ã¼ÀÇ ¸â¹öÁß l_onoff¸¦ 0À¸·Î ¼ÂÆÃÇÏ°í SO_LINGER ¿É¼ÇÀ» ¼ÂÆà ÇßÀ»¶§¿Í °°Àº È¿·ÂÀ» ¹ßÈÖÇÕ´Ï´Ù.

SO_DONTROUTE

BOOL

¶ó¿ìÆà ÇÏÁö ¾Ê°í, Á÷Á¢ ÀÎÅÍÆäÀ̽º·Î º¸³À´Ï´Ù.

SO_GROUP_PRIORITY




 

int




 

Â÷ÈÄ¿¡ ¼ÒÄϱ׷ìÀ» »ç¿ëÇϱâÀ§ÇØ ¿¹¾à µÇ¾îÀÖ½À´Ï´Ù. ¼ÒÄϱ׷ìÀÇ ÀϺκÐÀÎ ¼ÒÄÏÀ» ¸¸µé±âÀ§ÇØ °ü·ÃµÈ ¿ì¼±»çÇ×À» ¸í½ÃÇÕ´Ï´Ù.
(¿ì¾Æ¾Æ¾Æ¾Ç~ Á¤¸» Çؼ® ¸øÇØ ¸Ô°Ú³×¿©... ¿ø¹®À» ÷°¡ ÇÏ°Ú½À´Ï´Ù)
Reserved for future use with socket groups. Specify the relative priority to be established for sockets that are part of a socket group.

SO_KEEPALIVE

BOOL

Keepalives¸¦ Àü¼ÛÇÕ´Ï´Ù.

SO_LINGER
 

struct LINGER
 

¾ÆÁ÷ Àü¼ÛµÇÁö ¾ÊÀº µ¥ÀÌÅÍ°¡ ÀÖÀ» °æ¿ì ¼ÒÄÏÀ» Á¾·á(close)ÇÒ¶§ ´ë±âÇÕ´Ï´Ù.

SO_OOBINLINE
 

BOOL
 

ÀÏ¹Ý µ¥ÀÌÅÍ ½ºÆ®¸²(normal data stream)À¸·Î out-of-band µ¥ÀÌÅ͸¦ ¼ö½ÅÇÕ´Ï´Ù.

SO_RCVBUF

 

int

 

µ¥ÀÌÅ͸¦ ¼ö½ÅÇϱâ À§ÇÑ ÃÑ ¹öÆÛ°ø°£À» ¸í½ÃÇÕ´Ï´Ù. ¿ä³ðÀº SO_MAX_MSG_SIZE ³ª, TCP WindowÀÇ Å©±â¿Í »ó°üÀÌ ¾ø½À´Ï´Ù.

SO_REUSEADDR
 

BOOL
 

ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ´Â ¾îµå·¹½º¸¦ ¹ÙÀεå ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

SO_SNDBUF

 

int

 

µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§ÇÑ ÃÑ ¹öÆÛ°ø°£À» ¸í½ÃÇÕ´Ï´Ù. ¿ä³ðÀº SO_MAX_MSG_SIZE ³ª, TCP WindowÀÇ Å©±â¿Í´Â »ó°üÀÌ ¾ø½À´Ï´Ù.

level = IPPROTO_TCP

TCP_NODELAY
 
BOOL
 

Àü¼ÛÇÕº´(send coalescing)À» À§ÇØ Nagle ¾Ë°í¸®ÁòÀ» ºñ È°¼ºÈ­ ÇÕ´Ï´Ù.

Return Values

¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é, setsockopt ÇÔ¼ö´Â 0À» ¹ÝȯÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇϸé, SOCKET_ERRORÀ» ¹ÝȯÇϸé WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ƯÁ¤ ¿¡·¯ Äڵ带 ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.

Error Codes

WSANOTINITIALISED

ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ¾ø¾ú½À´Ï´Ù.

WSAENETDOWN ³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.
WSAEFAULT

optval ¶Ç´Â optlen ¸Å°³º¯¼ö ÁßÀÇ Çϳª°¡ ¿Ã¹Ù¸£Áö ¾Ê°Å³ª optlen ¸Å°³º¯¼öÀÇ °ªÀÌ ³Ê¹« ÀÛ½À´Ï´Ù.

WSAEINPROGRESS

ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®ÇÏ°í ÀÖ½À´Ï´Ù.

WSAEINVAL

level ¸Å°³º¯¼ö°¡ À߸øµÆ°Å³ª, ¾Ë ¼ö ¾ø´Â °ª ÀÔ´Ï´Ù.

WSAENETRESET

SO_KEEPALIVE°¡ ¼³Á¤ µÇ¾úÀ»¶§, Á¢¼ÓÀÌ Å¸ÀԾƿô µÇ¾ú½À´Ï´Ù.

WSAENOPROTOOPT

¾Ë ¼ö ¾ø´Â ¿É¼ÇÀ̰ųª, Áö¿øÁöÁö ¾Ê´Â ¿É¼ÇÀ» »ç¿ë Çß½À´Ï´Ù.

WSAENOTCONN

SO_KEEPALIVE°¡ ¼³Á¤ µÇ¾úÀ»¶§, Á¢¼ÓÀÌ ¸®¼Â µÇ¾ú½À´Ï´Ù.

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

See Also

overview, bind, getsockopt, ioctlsocket, socket, WSAAsyncSelect, WSAEventSelect