WSASocket
WSASocket ÇÔ¼ö´Â Æ®·£½ºÆ÷Æ® ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿¡ ¹ÙÀεåµÈ ¼ÒÄÏÀ» »ý¼ºÇÕ´Ï´Ù. ºÎ¼öÀûÀÎ ±â´ÉÀ¸·Î, ¼ÒÄϱ׷쿡 ÇÕÃļ(join) »ý¼ºÇϴµ¥ »ç¿ëÇϱ⵵ ÇÕ´Ï´Ù.
SOCKET WSASocket (
int af,
int type,
int protocol,
LPWSAPROTOCOL_INFO lpProtocolInfo,
GROUP g,
DWORD dwFlags
);
Parameters
af
[ÀÔ·Â] ¾îµå·¹½º ÁýÇÕ(family)¸¦ ¸í½ÃÇÕ´Ï´Ù.
type
[ÀÔ·Â] »õ·ÎÀÌ »ý¼ºµÉ ¼ÒÄÏ¿¡ ´ëÇÑ
ÇüÅÂ(type)À» ÁöÁ¤ÇÕ´Ï´Ù.
protocol
[ÀÔ·Â] ¾îµå·¹½º ÁýÇÕ(family)À¸·Î
ÁöÁ¤µÈ ¼ÒÄÏ¿¡¼ »ç¿ëµÇ´Â ƯÁ¤ÇÑ ÇÁ·ÎÅäÄÝ
lpProtocolInfo
[ÀÔ·Â] »ý¼ºµÇ´Â ¼ÒÄÏÀÇ
Ư¼ºÀ» Á¤ÀÇÇÑ WSAPROTOCOL_INFO
±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅÍ
g
[ÀÔ·Â] ¼ÒÄϱ׷ìÀÇ ½Äº°ÀÚ ·Î½á, ¼ÒÄϱ׷쿡
´ëÇØ¼ ³ªÁß¿¡ »ç¿ëÇϱâ À§ÇØ ¿¹¾àµÈ ¸Å°³º¯¼öÀÔ´Ï´Ù.
dwFlags
[ÀÔ·Â] ¼ÒÄÏ ¼Ó¼ºÀ» ÁöÁ¤ÇÏ´Â
Ç÷¡±×
Remarks
WSASocket ÇÔ¼ö´Â ¼ÒÄÏ ±â¼úÀÚ¸¦ ¾ò¾î³»°í, °ü·ÃµÈ ¸®¼Ò½º¸¦ ÇÒ´ç¹Þ´Â ÇÔ¼öÀÔ´Ï´Ù. ±âº» ¼³Á¤Ä¡·Î, ¼ÒÄÏÀº ¿À¹ö·¦ ¼Ó¼ºÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù. ¸¸¾à lpProtocolInfo°¡ NULL À̶ó¸é, WS2_32.DLLÀº óÀ½ 3°³ ¸Å°³º¯¼ö(af, type, protocol)¸¦ ¼ÒÄÏÀÇ Æ¯¼ºÀ» Á¤ÀÇÇϴµ¥ »ç¿ëÇÏ°Ô µË´Ï´Ù. ¹Ý¸é, lpProtocolInfo ¸Å°³º¯¼ö°¡ NULL ÀÌ ¾Æ´Ï¶ó¸é, ¼ÒÄÏÀº WSAPROTOCOL_INFO ±¸Á¶Ã¼ÀÇ ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ÇÏ¿© ¼ÒÄÏÀÇ Æ¯¼ºÀ» Á¤ÀÇ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº FROM_PROTOCOL_INFO »ó¼ö°ªÀ¸·Î af, type, protocol ¸Å°³º¯¼ö¸¦ ³Ñ°ÜÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀº WSAPROTOCOL_INFO ±¸Á¶Ã¼·ÎºÎÅÍ(iAddressFamily, iSocket, iProtocol) ºÎÇյǴ °ªÀÌ »ç¿ëµÇµµ·Ï °¡Á¤µÇ¾î ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.
ÇÁ·ÎÅäÄݰú af, type, protocol ¿¡ ±â¹ÝÀ» µÐ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ ¼±ÅÃÇÒ ¶§, ÀÌ ÇÔ¼öÀÇ ÇÁ·Î½ÃÁ®´Â ÇÁ·ÎÅäÄÝ ·¹À̾ ¾Æ´Ñ ±âº» ÇÁ·ÎÅäÄÝÀ̳ª ÇÁ·ÎÅäÄÝ Ã¼ÀÎ ¸¸À» ¼±Åà ÇÒ °ÍÀÔ´Ï´Ù. ¾ð-üÀÎµÈ ÇÁ·ÎÅäÄÝ ·¹À̾î´Â type À̳ª af µÑÁßÇϳª¿¡ ±â¹ÝÀ» µÐ "partial matches"¸¦ °í·ÁÇÏÁö ¾Ê½À´Ï´Ù. °£´ÜÈ÷ ¸»ÇÏÀÚ¸ç, ÀûÀýÇÑ ÇÁ·ÎÅäÄÝÀÌ ¹ß°ßµÇÁö ¾Ê¾ÒÀ» ¶§ WSAEAFNOSUPPORT ³ª WSAEPROTONOSUPPORT ¿¡·¯Äڵ带 ¹ß»ýÇÏÁö ¾Ê´Â ´Ù´Â ¸»ÀÔ´Ï´Ù.
¸Å°³º¯¼ö g´Â ¼ÒÄϱ׷쿡 ´ëÇÑ ÀûÀýÇÑ ¾×¼ÇÀ» ¾Ë·ÁÁÖ±â À§ÇØ »ç¿ëµË´Ï´Ù.°¿ä¼ºÀÌ ¾ø´Â ±×·ì¿¡¼, ƯÁ¤ÇÑ ¼ÒÄÏÀÇ ÁýÇÕÀº ´ÜÀÏ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ¼ Áö¿øµÇ´Â °Íó·³ ÇÔ²² Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. °¿ä¼ºÀÌ ÀÖ´Â ¼ÒÄÏ ±×·ìÀº Á¢¼Ó ÁöÇâÇü ¼ÒÄϸ¸À¸·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í, ¸ðµç ±×·ìÇÎµÈ ¼ÒÄϵéÀÇ Á¢¼ÓÀº °°Àº È£½ºÆ®¿¡ °°Àº ¾îµå·¹½º·Î Á¢¼ÓµÇµµ·Ï ¿ä±¸µË´Ï´Ù. »õ·Î »ý¼ºµÈ ¼ÒÄÏ ±×·ì¿¡ ´ëÇØ¼, »õ·Î¿î ±×·ì ¾ÆÀ̵ð´Â SO_GROUP_ID ¿É¼ÇÀ¸·Î getsockopt ÇÔ¼ö¸¦ È£ÃâÇØ¼ ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù. ¼ÒÄÏ ±×·ì ¾ÆÀ̵ð´Â ÁÖ¾îÁø ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿¡ ´ëÇÑ ¸ðµç ÇÁ·Î¼¼½º¿¡¼ À¯ÀÏÇÑ °ªÀÔ´Ï´Ù.
dwFlags ¸Å°³º¯¼ö´Â ¾Æ·¡ÀÇ °ªµéÀ» OR ¿¬»êÇØ¼ ÀÌ·ç¾îÁø °ªÀ» »ç¿ëÇÏ¿© ¼ÒÄÏÀÇ ¼Ó¼ºÀ» ¸í½ÃÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Flag |
Meaning |
---|---|
WSA_FLAG_OVERLAPPED |
ÀÌ Ç÷¡±×¸¦ »ç¿ëÇϸé, ¿À¹ö·¦ ¼ÒÄÏÀ» »ý¼ºÇÏ°Ô µË´Ï´Ù. ¿À¹ö·¦ ¼ÒÄÏÀº ¿À¹ö·¦ I/O ¿ÀÆÛ·¹À̼ÇÀ» À§ÇÏ¿© WSASend, WSASendTo, WSARecv, WSARecvFrom, WSAIoctl ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿À¹ö·¦ ¿¬»êÀ» ´Ù·ç´Â ÇÔ¼öµéÀº ¿À¹ö·¦°ú °ü·ÃµÈ ¸Å°³º¯¼ö¸¦ NULL·Î ÁöÁ¤ÇÔÀ¸·Î½á ³Í-¿À¹ö·¦ ¼ÒÄÏÀ¸·Î »ç¿ë ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. |
WSA_FLAG_MULTIPOINT_C_ROOT |
»ý¼ºµÈ ¼ÒÄÏÀÌ ¸ÖƼ Æ÷ÀÎÆ® ¼¼¼Ç¿¡¼ c_root°¡ µÉ °ÍÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â Ç÷¡±×ÀÔ´Ï´Ù. |
WSA_FLAG_MULTIPOINT_C_LEAF |
»ý¼ºµÈ ¼ÒÄÏÀÌ ¸ÖƼ ij½ºÆ® ¼¼¼Ç¿¡¼ c_leaf°¡ µÉ °ÍÀ̶ó°í ¾Ë·ÁÁÖ´Â Ç÷¡±× ÀÔ´Ï´Ù. |
WSA_FLAG_MULTIPOINT_D_ROOT |
»ý¼ºµÈ ¼ÒÄÏÀÌ ¸ÖƼ Æ÷ÀÎÆ® ¼¼¼Ç¿¡¼ d_root °¡ µÉ °ÍÀ̶ó°í ¾Ë·ÁÁÖ´Â Ç÷¡±× ÀÔ´Ï´Ù. |
WSA_FLAG_MULTIPOINT_D_LEAF |
»ý¼ºµÈ ¼ÒÄÏÀÌ ¸ÖƼÆ÷ÀÎÆ® ¼¼¼Ç¿¡¼ d_leaf°¡ µÉ °ÍÀ̶ó°í ¾Ë·ÁÁÖ´Â Ç÷¡±× ÀÔ´Ï´Ù. |
Return Values
¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é, WSASocket ÇÔ¼ö´Â »õ·Î »ý¼ºµÈ ¼ÒÄÏÀ» ÂüÁ¶ÇÏ´Â ±â¼úÀÚ¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ¹Ý¸é, ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì´Â, INVALID_SOCKET ÀÌ ¹Ýȯ µË´Ï´Ù. ±×¸®±¸, WSAGetLastError ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.
Error Codes
WSANOTINITIALISED |
ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ¾ø¾ú½À´Ï´Ù. |
WSAENETDOWN |
³×Æ®¿÷ ¼ºê½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. |
WSAEAFNOSUPPORT |
ÁöÁ¤µÈ ¾îµå·¹½º ü°è(family)°¡ Áö¿øµÇÁö ¾Ê½À´Ï´Ù. |
WSAEINPROGRESS |
ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®Çϰí ÀÖ½À´Ï´Ù. |
WSAEMFILE |
»ç¿ëÇÒ ¼ö ÀÖ´Â ¼ÒÄϱâ¼úÀÚ°¡ ¹Ù´Ú ³ª ÀÖ¾î¼ ¼ÒÄÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. |
WSAENOBUFS |
»ç¿ëÇÒ ¼ö ÀÖ´Â ¹öÆÛ°¡ ¹Ù´Ú ³ª ÀÖ¾î¼ ¼ÒÄÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. |
WSAEPROTONOSUPPORT |
ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝÀÌ Áö¿øµÇÁö ¾Ê´Â Çü½ÄÀÔ´Ï´Ù. |
WSAEPROTOTYPE |
ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝÀÌ À߸øµÇ¾ú°Å³ª ÀÌ ¼ÒÄÏ¿¡ ´ëÇØ¼ À߸øµÈ Çü½ÄÀÔ´Ï´Ù. |
WSAESOCKTNOSUPPORT |
ÁöÁ¤µÈ ¼ÒÄÏ Å¸ÀÔÀÌ ÁöÁ¤ÇÑ ¾îµå·¹½º ü°è¿¡¼ Áö¿øµÇÁö ¾Ê´Â Çü½ÄÀÔ´Ï´Ù. |
WSAEINVAL |
¸Å°³º¯¼ö g °¡ ¿Ã¹Ù¸¥ °ªÀÌ ¾Æ´Õ´Ï´Ù. |
WSAEFAULT |
lpProtocolInfo ¸Å°³º¯¼ö°¡ ¿Ã¹Ù¸¦ °ªÀÌ ¾Æ´Õ´Ï´Ù. |
WSAINVALIDPROVIDER |
¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ 2.2 ¹öÀü°ú ´Ù¸¥ ¹öÀüÀ» ¹Ýȯ Çß½À´Ï´Ù. |
WSAINVALIDPROCTABLE |
¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ È¿·ÂÀÌ ¾ø°Å³ª ¿Ï·áÇÒ ¼ö ¾ø´Â ÇÁ·Î½ÃÁ® Å×À̺íÀ» ¹ÝȯÇß½À´Ï´Ù. |
QuickInfo
Windows NT : »ç¿ë°¡´É
Windows
: »ç¿ë°¡´É
Windows CE
:
Áö¿øÇÏÁö ¾ÊÀ½
Header
:
Win32
: winsock.h
Win32-II
: winsock2.h
Import Library :
Win32
: wsock32.lib
Win32-II
: ws2_32.lib
See Also
overview, accept, bind, connect, getsockname, getsockopt, ioctlsocket, listen, recv, recvfrom, select, send, sendto, setsockopt, shutdown