send

send ÇÔ¼ö´Â Á¢¼ÓµÇ¾î ÀÖ´Â »ó´ë¹æ ¼ÒÄÏÀ¸·Î µ¥ÀÌÅ͸¦ º¸³»´Â ÇÔ¼öÀÔ´Ï´Ù.

int send (
        SOCKET
s,
        const char FAR *
buf,
        int
len,
        int
flags
);

 

Parameters
s
[ÀÔ·Â] Á¢¼ÓµÇ¾î ÀÖ´Â ¼ÒÄÏÀÇ ±â¼úÀÚ(descriptor)¸¦ ±â¼úÇÕ´Ï´Ù.

buf
[ÀÔ·Â] Àü¼ÛÇÏ·Á´Â µ¥ÀÌÅ͸¦ °¡Áö°í ÀÖ´Â ¹öÆÛ

len
[ÀÔ·Â]
buf ¾È¿¡ÀÖ´Â µ¥ÀÌÅÍÀÇ ±æÀÌ

flags
[ÀÔ·Â] ÇÔ¼öÀÇ È£ÃâÀÌ ¾î¶²ÀÏÀ» ÇÒÁö ³ªÅ¸³»´Â Ç÷¡±× ÀÔ´Ï´Ù.

Remarks

send´Â Á¢¼ÓµÈ ¼ÒÄÏ¿¡¼­ µ¥ÀÌÅ͸¦ Á¢¼ÓµÈ »ó´ë¹æÀ¸·Î Àü¼ÛÇϴµ¥ »ç¿ëµÇ´Â ÇÔ¼öÀÔ´Ï´Ù. ¸Þ½ÃÁö ÁöÇâ ¼ÒÄÏ(message-oriented sockets)¿¡¼­ ÃÖ´ë ÆÐŶũ±â(getsockopt ÇÔ¼ö·Î SO_MAX_MSG_SIZE ¿É¼ÇÀÇ °ªÀ» ¾ò¾î³»¼­ ÃÖ´ë Å©±â¸¦ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.)¸¦ ÃÊ°úÇÏÁö ¾Êµµ·Ï ÁÖÀÇ ÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à µ¥ÀÌÅÍ°¡ Àü¼ÛµÇ±â¿¡ ³Ê¹« Å©´Ù¸é, µ¥ÀÌÅÍ´Â Àü¼ÛµÇÁö ¾Ê°í, WSAEMSGSIZE ¿¡·¯Äڵ带 ¹ß»ýÇÕ´Ï´Ù.

send ÇÔ¼öÀÇ ¼º°øÀûÀÎ Á¾·á°¡ ¼º°øÀûÀÎ µ¥ÀÌÅÍÀÇ Àü¼ÛÀ» ÀǹÌÇÏÁö´Â ¾Ê´Â´Ù´Â Á¡À» ¸í½ÉÇϼ¼¿ä.

Àü¼Û ½Ã½ºÅÛ¿¡ »ç¿ë °¡´ÉÇÑ ¹öÆÛ°¡ ¾ø´Ù¸é, ¼ÒÄÏÀÌ ³Íºí·ÏÅ·(ºñµ¿±â)¸ðµåÀÏ °æ¿ì¸¦ Á¦¿ÜÇÏ°í send´Â ºí·ÏÇÕ´Ï´Ù. ºñµ¿±â ½ºÆ®¸² ¼ÒÄÏ(nonblocking stream oriented sockets)¿¡¼­ Àü¼ÛµÈ ¹ÙÀÌÆ®ÀÇ Å©±â´Â 1ºÎÅÍ ¿äûµÈ µ¥ÀÌÅÍÀÇ ±æÀÌ »çÀÌÀÇ ¼ö°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. select, WSAAsyncSelect, WSAEventSelect ÇÔ¼ö´Â Çѹø µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ¾ðÁ¦ ´Ù¸¥ µ¥ÀÌÅ͸¦ º¸³¾ ¼ö ÀÖ´ÂÁö¸¦ °áÁ¤Çϴµ¥ »ç¿ëµË´Ï´Ù. µ¥ÀÌÅÍ´Â ¾Æ¹«¶§³ª º¸³¾ ¼ö ÀÖ´Â°Ô ¾Æ´Õ´Ï´Ù. ¹°·Ð ºñµ¿±â ¼ÒÄÏ¿¡¼­ ¿¬¼ÓµÈ send¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, ¾ÈÁ¤ÀûÀÎ µ¥ÀÌÅÍ ¼Û¼ö½ÅÀ» ±â´ë ÇÒ ¼ö ¾øÁÒ. ±×·¸±â ¶§¹®¿¡ ¼ÒÄÏÀº µ¥ÀÌÅ͸¦ Àü¼Û ÇÒ ¼ö ÀÖ´Â »óÅ°¡ µÇ¾úÀ» ¶§ ºñ·Î¼Ò µ¥ÀÌÅ͸¦ Àü¼ÛÇØ¾ß ÇÕ´Ï´Ù.

len ¸Å°³º¯¼ö¸¦ 0À¸·Î Çؼ­ send ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀº Çã¿ëµÇ°í, ¼º°øÀûÀ¸·Î 󸮵˴ϴÙ. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â send ÇÔ¼ö´Â 0À» ¸®ÅÏÇÕ´Ï´Ù. ¸Þ½ÃÁö ÁöÇâ ¼ÒÄÏ(message-oriented sockets)ÀÏ°æ¿ì´Â 0 ±æÀÌÀÇ µ¥ÀÌÅͱ׷¥ÀÌ Àü¼ÛµÇ¾î Áý´Ï´Ù.

flag ¸Å°³º¯¼ö´Â ¼ÒÄÏ¿¡ ´ëÇØ ¸í½ÃµÈ ¿É¼Ç ÀÌ»óÀÇ ÇÔ¼öµ¿ÀÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡±â À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÇÔ¼öÀÇ ÀǹÌü°è´Â ¼ÒÄÏ¿É¼Ç ±×¸®°í, flag ¸Å°³º¯¼ö¿¡ ÀÇÇؼ­ °áÁ¤µÇ¾î Áý´Ï´Ù. flag ¸Å°³º¯¼ö¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀÇ °æ¿ì ¾Æ·¡ÀÇ °ªÀ» OR ºñÆ®¿¬»êÀ» ÃëÇؼ­ ±¸¼ºµÇ¾î Áý´Ï´Ù.

Value Meaning
MSG_DONTROUTE
 
µ¥ÀÌÅÍ´Â ¶ó¿ìÆà µÉ ¼ö ¾øÀ½À» ³ªÅ¸³À´Ï´Ù. À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛÀº ´ëÀÀÇÏ´Â ¼ÒÄϿɼǰú ¸¶Âù°¡Áö·Î ÀÌ °ªÀ» ¹«½Ã ÇÒ ¼ö ÀÖ½À´Ï´Ù.
MSG_OOB µ¥ÀÌÅÍ°¡ out-of-band µ¥ÀÌÅͷμ­ Àü¼ÛµÉ ¼ö ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù. ÀÌ Ç÷¡±×´Â ½ºÆ®¸² ¼ÒÄÏ°ú¸¸ »ç¿ëµË´Ï´Ù.

Return Values

¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù¸é, send ÇÔ¼ö´Â Àü¼ÛµÈ ÃÑ µ¥ÀÌÅÍ Å©±â¸¦ ¹ÝȯÇÕ´Ï´Ù. ºñµ¿±â ¼ÒÄÏÀÇ °æ¿ì len ¸Å°³º¯¼ö·Î °Ç³Ù ¼öÄ¡º¸´Ù ÀÛÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì´Â SOCKET_ERROR¸¦ ¹ÝȯÇÏ°í, WSAGetLastError¸¦ ÀÌ¿ëÇؼ­ ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.

Error Codes

WSANOTINITIALISED

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

WSAENETDOWN ³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.
WSAEACCES ¿äûµÈ ÁÖ¼Ò°¡ ºê·ÎƮij½ºÆ®(broadcast) ÁÖ¼ÒÀε¥, ÀûÀýÇÑ Ç÷¡±×°¡ ¼ÂÆõǾî ÀÖÁö ¾Ê½À´Ï´Ù. ºê·Îµåij½ºÆ® ¾îµå·¹½ºÀÇ »ç¿ëÀ» Çã¿ëÇϱâ À§ÇØ SO_BROADCAST ¸Å°³º¯¼ö¸¦ °¡Áö°í, setsockopt ÇÔ¼ö¸¦ È£Ãâ ÇØ¾ß ÇÕ´Ï´Ù.
WSAEINTR ºí·ÏÅ· È£ÃâÀÌ WSACancelBlockingCall ÇÔ¼ö¿¡¼­ Ãë¼ÒµÇ¾ú½À´Ï´Ù.
WSAEINPROGRESS ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®ÇÏ°í ÀÖ½À´Ï´Ù.
WSAEFAULT buf ¸Å°³º¯¼ö°¡ Á¦´ë·Î µÈ ÇüÅ°¡ ¾Æ´Õ´Ï´Ù.
WSAENETRESET ¿¬»êÀÌ ÁøÇàµÇ°í ÀÖ´Â µµÁß Á¢¼ÓÀÌ ²÷°Ü¹ö·È½À´Ï´Ù.
WSAENOBUFS Àü¼ÛÇϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹öÆÛ °ø°£ÀÌ ¾ø½À´Ï´Ù.
WSAENOTCONN ¼ÒÄÏÀÌ Á¢¼ÓµÈ »óÅ°¡ ¾Æ´Õ´Ï´Ù.
WSAENOTSOCK ±â¼úÀÚ(descriptor)°¡ ¼ÒÄÏ ±â¼úÀÚ°¡ ¾Æ´Õ´Ï´Ù.
WSAEOPNOTSUPP MSG_OOB °¡ ¸í½ÃµÇ¾úÁö¸¸, ¼ÒÄÏÀº SOCK_STREAM °ú °°Àº ÇüÅÂÀÇ ½ºÆ®¸² ÇüÅ°¡ ¾Æ´Õ´Ï´Ù.
WSAESHUTDOWN ¼ÒÄÏÀÌ ¼Ë´Ù¿î µÇ¾ú½À´Ï´Ù.
WSAEWOULDBLOCK ¼ÒÄÏÀÌ ³Íºí·ÏÅ·(ºñµ¿±â)·Î ¸¶Å·µÇ¾î ÀÖ°í, ¼ö½Å ¿¬»êÀÌ ºí·ÏÅ· »óÅÂÀÔ´Ï´Ù.
WSAEMSGSIZE ¼ÒÄÏÀÌ ¸Þ½ÃÁö ÁöÇâÇü(message oriented)ÀÌ°í, ¸Þ½ÃÁöÀÇ Å©±â°¡ Çã¿ëÇÒ ¼ö ÀÖ´Â ÃÖ´ë Å©±â º¸´Ù Å®´Ï´Ù.
WSAEHOSTUNREACH ³×Æ®¿÷ ½Ã½ºÅÛ Àå¾Ö µî¿¡ ÀÇÇؼ­ ¿ø°ÝÈ£½ºÆ®±îÁö µµ´Þ ÇÒ ¼ö ¾ø½À´Ï´Ù.
WSAEINVAL ¼ÒÄÏÀÌ bind ÇÔ¼ö¿¡ ÀÇÇؼ­ ¹ÙÀÎµå µÇÁö ¾Ê¾Ò°Å³ª, ¾Ë ¼ö ¾ø´Â Ç÷¡±×°¡ »ç¿ëµÇ¾ú°Å³ª, SO_OOBINLINE ¿É¼ÇÀ» °¡´ÉÇÏ°Ô ÇÑ »óÅ ¿¡¼­ MSG_OOB Ç÷¡±×°¡ ¼ÒÄÏ¿¡ ´ëÇؼ­ ¸í½ÃµÇ¾ú½À´Ï´Ù. ¶Ç´Â len ¸Å°³º¯¼ö°¡ 0 À̰ųª 0º¸´Ù ÀÛ½À´Ï´Ù.
WSAECONNABORTED °¡»ó ¿¬°á ȸ·Î¸ÁÀÌ Å¸ÀӾƿôÀ̳ª ´Ù¸¥ ½ÇÆÐ ¶§¹®¿¡ ²÷¾îÁ® ¹ö·È½À´Ï´Ù.
WSAECONNRESET °¡»ó ȸ·Î¸ÁÀÌ ¿ø°ÝÁö¿¡¼­ "hard"³ª "abortive" Á¾·á¸¦ ¼öÇàÇؼ­ ¸®¼ÂµÇ¾ú½À´Ï´Ù.
WSAETIMEDOUT Á¢¼ÓÀÌ ³×Æ®¿÷ ½ÇÆгª »ó´ë¹æ ½Ã½ºÅÛÀÇ ÀÀ´ä ½ÇÆзΠÀÎÇÏ¿© µå¶ø µÇ¾î ¹ö·È½À´Ï´Ù.

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, recvfrom, select, sendto, socket, WSAAsyncSelect, WSAEventSelect