socket
socket ÇÔ¼ö´Â ¼ÒÄÏÀ» ¸¸µé°í ¼ÒÄÏ ±â¼úÀÚ(descriptor)¸¦ ¾îÇø®ÄÉÀ̼ǿ¡ ¹Ýȯ ÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù.
SOCKET socket (
int af,
int type,
int protocol
);
Parameters
af
[ÀÔ·Â]
¾îµå·¹½º ü°è(address family)¸¦ °áÁ¤ÇÕ´Ï´Ù.
type
[ÀÔ·Â]
¼ÒÄÏÀÇ Å¸ÀÔÀ» °áÁ¤ÇÕ´Ï´Ù.
À©µµ¿ìÁî ¼ÒÄÏ 1.1¿¡¼´Â µÎ°¡Áö Á¾·ùÀÇ Å¸ÀÔÀ» Á¦°øÇÕ´Ï´Ù. ¾Æ·¡¿¡ ±× Á¾·ù¿¡ ´ëÇØ¼ °£´ÜÈ÷ ¼³¸íÇß½À´Ï´Ù.
Type | Explanation |
---|---|
SOCK_STREAM | ½Å·Ú¼ºÀÖ°í, Á¢¼ÓÁöÇâÀûÀÎ, ÇÏÁö¸¸ ´À¸°, TCP ¾îµå·¹½º ü°è¿¡ »ç¿ëµË´Ï´Ù. |
SOCK_DGRAM | ºñÁ¢¼ÓÀ̰í, ½Å·Ú¼º¾ø´Â ±×·¯³ª ºü¸¥, UDP ¾îµå·¹½º ü°è¿¡ »ç¿ëµË´Ï´Ù. |
protocol
[ÀÔ·Â]
¼ÒÄϰú ÇÔ²² ¾î´À ÇÁ·ÎÅäÄÝÀÌ »ç¿ëµÉ °ÍÀÎÁö ÁöÁ¤ÇÕ´Ï´Ù.
Remarks
socket ÇÔ¼ö´Â ¼ÒÄÏ ±â¼úÀÚ(descriptor)¸¦ ¸¸µé¾î³»°í, °ü·ÃµÇ ¸®¼Ò½º¸¦ ÇÒ´çÇϰí, ÁöÁ¤µÈ Æ®·£½ºÆ÷Æ® ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿Í ¿«´Â ÀÏÀ» ÇÕ´Ï´Ù. À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛÀº type, protocol ¸Å°³º¯¼ö ±×¸®°í ¾îµå·¹½º ü°è(af)¿Í ºÎÇÕÇÏ´Â »ç¿ë°¡´ÉÇÑ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ »ç¿ëÇÒ °ÍÀÔ´Ï´Ù. »õ·Î »ý¼ºµÈ ¼ÒÄÏÀº ±âº»ÀûÀ¸·Î Áߺ¹µÈ ¼Ó¼ºÀ» °¡Áö°Ô µÉ °ÍÀÔ´Ï´Ù. Microsoft ¿î¿µÃ¼Á¦¿¡¼ MSWSOCK.H ¿¡ Á¤ÀÇ µÇ¾îÀÖ´Â Microsoft-specific ¼ÒÄÏ ¿É¼ÇÀº ÀÌ ±âº»¼Ó¼º¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. Áߺ¹µÈ ¼Ó¼ºÀÌ ¾ø´Â ¼ÒÄÏÀº WSASocket ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Áߺ¹¿¬»êÀ» Çã¿ëÇÏ´Â ¸ðµç ÇÔ¼ö(WSASend, WSARecv, WSASendTo, WSARecvFrom, ±×¸®°í WSAIoctl)´Â Áߺ¹¿¬»ê°ú °ü·ÃµÈ ¸Å°³º¯¼ö°¡ NULLÀÏ °æ¿ì Áߺ¹µÇÁö ¾ÊÀº ¿¬»êÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ¶ÇÇÑ Áö¿øµË´Ï´Ù.
af ¸Å°³º¯¼ö´Â AF_INETÀ̳ª AF_UNSPEC°¡ µÉ ¼ö Àִµ¥, af ¸Å°³º¯¼ö°¡ AF_UNSPEC ÀÏ °æ¿ì protocol ¸Å°³º¯¼ö¸¦ ¹Ýµå½Ã ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
SOCK_STREAM °ú °°Àº Á¢¼ÓÁöÇâ ¼ÒÄÏ(connection-oriented sockets)Àº ¾ç¹æÇâ Á¢¼ÓÀ» Áö¿øÇϰí, ¾î¶² µ¥ÀÌÅͰ¡ º¸³»Áö°í ¼ö½ÅµÇ±â Àü¿¡ Á¢¼ÓµÈ »óŰ¡ µÇ¾î ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¢¼ÓµÈ »óÅ´ connect ÇÔ¼ö¸¦ È£ÃâÇØ¼ ÀÌ·ê ¼ö ÀÖ½À´Ï´Ù. Á¢¼ÓµÇ¾úÀ» ¶§ µ¥ÀÌÅÍ´Â send ±×¸®°í recv ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Àü¼Û ¹× ¼ö½Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼ÒÄÏÀ» ´Ù »ç¿ëÇϰí, ÇØÁ¦ ÇÒ ¶§´Â ¹Ýµå½Ã closesocket ÇÔ¼ö°¡ ¼öÇà µÇ¾î¾ß ÇÕ´Ï´Ù.
ºñÁ¢¼Ó¼ÒÄÏ, Áï, ¸Þ¼¼Áö ÁöÇâ ¼ÒÄÏ(message-oriented sockets)Àº sendto ±×¸®°í, recvfrom ÇÔ¼ö¸¦ ÀÌ¿ëÇØ »ó´ë¹æÀ¸·Î ºÎÅÍÀÇ µ¥ÀÌÅͱ׷¥ÀÇ ¼ö½Å°ú »ó´ë¹æÀ¸·ÎÀÇ µ¥ÀÌÅÍ ¼Û½ÅÀ» ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ÀÌ·¯ÇÑ ¼ÒÄÏ(¸Þ¼¼Áö ÁöÇâ ¼ÒÄÏ) ƯÁ¤ÇÑ ¿ø°ÝÁö·Î Á¢¼ÓµÇ¾î ÀÖ´Ù¸é, µ¥ÀÌÅͱ׷¥Àº send ±×¸®°í, recv ÇÔ¼ö¸¦ ÀÌ¿ëÇØ µ¥ÀÌÅͱ׷¥À» Àü¼Û ¹× ¼ö½Å ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Return Values
¿¡·¯°¡ ¹ß»ýµÇÁö ¾Ê¾Ò´Ù¸é, ¼ÒÄÏÀº »õ·Î¿î ¼ÒÄÏÀÇ ±â¼úÀÚ¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â INVALID_SOCKETÀ» ¹ÝȯÇϰí, ƯÁ¤ÇÑ ¿¡·¯Äڵ带 WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
Error Codes
WSANOTINITIALISED | ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ¾ø¾ú½À´Ï´Ù. |
WSAENETDOWN | ³×Æ®¿÷ ¼ºê½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇ߰ųª ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ¿¡ ¿¡·¯°¡ ¹ß»ý Çß½À´Ï´Ù. |
WSAEAFNOSUPPORT | ÁöÁ¤µÈ ¾îµå·¹½º ü°è°¡ Áö¿øµÇÁö ¾Ê½À´Ï´Ù. |
WSAEINPROGRESS | ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®Çϰí ÀÖ½À´Ï´Ù. |
WSAEMFILE | »ç¿ëÇÒ ¼ö ÀÖ´Â ¼ÒÄϱâ¼úÀÚ°¡ ¹Ù´Ú ³ª ÀÖ¾î¼ ¼ÒÄÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. |
WSAENOBUFS | »ç¿ëÇÒ ¼ö ÀÖ´Â ¹öÆÛ°¡ ¹Ù´Ú ³ª ÀÖ¾î¼ ¼ÒÄÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. |
WSAEPROTONOSUPPORT | ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝÀÌ Áö¿øµÇÁö ¾Ê´Â Çü½ÄÀÔ´Ï´Ù. |
WSAEPROTOTYPE | ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝÀÌ À߸øµÇ¾ú°Å³ª ÀÌ ¼ÒÄÏ¿¡ ´ëÇØ¼ À߸øµÈ Çü½ÄÀÔ´Ï´Ù. |
WSAESOCKTNOSUPPORT | ÁöÁ¤µÈ ¼ÒÄÏ Å¸ÀÔÀÌ ÁöÁ¤ÇÑ ¾îµå·¹½º ü°è¿¡¼ Áö¿øµÇÁö ¾Ê´Â Çü½ÄÀÔ´Ï´Ù. |
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, accept, bind, connect, getsockname, getsockopt, ioctlsocket, listen, recv, recvfrom, select, send, sendto, setsockopt, shutdown, WSASocket