CAsyncSocket::ReceiveFrom

int ReceiveFrom ( void * lpBuf, int nBufLen, CStringamp; rSocketAddress, UINT & rSocketPort, int nFlags = 0 );

int ReceiveFrom ( void * lpBuf, int nBufLen, SOCKADDR * lpSockAddr, int * lpSockAddrLen, int nFlags = 0 );

¹Ýȯ °ª

¿À·ù°¡ ¹ß»ý ÇÏ´Â °æ¿ì ReceiveFrom ¹ÞÀº ¹ÙÀÌÆ® ¼ö¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ¿¬°áÀÌ ´ÝÈù °æ¿ì 0À» ¹Ýȯ ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, SOCKET_ERROR ÀÇ °ªÀÌ ¹Ýȯ µÇ °í GetLastError¸¦ È£Ãâ ÇÏ ¿© ƯÁ¤ ¿À·ù Äڵ带 °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸â¹ö ÇÔ¼ö¿¡ ´ÙÀ½°ú °°Àº ¿À·ù°¡ Àû¿ë:

¸Å°³ º¯¼ö

lpBuf

µé¾î¿À´Â µ¥ÀÌÅÍ¿¡ ´ë ÇÑ ¹öÆÛ¡£

nBufLen

LpBuf ¹ÙÀÌÆ®¿¡¼­ÀÇ ±æÀÌ¡£

rSocketAddress

Á¡¼±µÈ ¼ýÀÚ IP ÁÖ¼Ò¸¦ ¼ö½Å ÇÏ´Â CString °³Ã¼¿¡ ´ë ÇÑ ÂüÁ¶¡£

rSocketPort

UINT Æ÷Æ® ÀúÀå¿¡ ´ë ÇÑ ÂüÁ¶¡£

lpSockAddr

¹Ýȯ ½Ã ¿øº» ÁÖ¼Ò¸¦ º¸À¯ ÇÏ °í ÀÖ´Â SOCKADDR ±¸Á¶Ã¼¿¡ ´ë ÇÑ Æ÷ÀÎÅÍ¡£

lpSockAddrLen

LpSockAddr ¹ÙÀÌÆ®¿¡¼­¿¡¼­ ¿øº» ÁÖ¼Ò ±æÀÌ ´ë ÇÑ Æ÷ÀÎÅÍ¡£

nFlags

È£ÃâÀÌ ¼öÇà µÇ´Â ¹æ¹ýÀ» ÁöÁ¤ ÇÕ´Ï´Ù. ÀÌ ÇÔ¼öÀÇ ÀÇ¹Ì ¼ÒÄÏ ¿É¼Ç ¹× nFlags ¸Å°³ º¯¼ö¿¡ ÀÇÇØ °áÁ¤ µË´Ï´Ù. ÈÄÀÚ´Â c + + ¶Ç´Â ¿¬»êÀÚ¿Í ÇÔ²² ´ÙÀ½ °ªÀ» °áÇÕ ÇÏ ¿© »ý¼º µÈ:

ÁÖÀÇ

µ¥ÀÌÅÍ ±×·¥À» ¼ö½Å ÇÏ ¿© SOCKADDR ±¸Á¶Ã¼ ¶Ç´Â rSocketAddress¿øº» ÁÖ¼Ò ÀúÀåÀÌ ¸â¹ö ÇÔ¼ö¸¦ È£Ãâ ÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â (¾Æ¸¶µµ ¿¬°áµÈ) ¼ÒÄÏ¿¡ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ÀÐ°í µ¥ÀÌÅ͸¦ Àü¼Û ÇÏ´Â ÁÖ¼Ò¸¦ ĸó¡£

Çü½ÄÀÇ SOCK_STREAM¼ÒÄÏ¿¡ ´ë ÇÑ ¸¹Àº Á¤º¸¸¦ Á¦°ø ÇÏ´Â ¹öÆÛÀÇ Å©±â¸¦ ÇöÀç »ç¿ëÇÒ ¼ö ÀÖ´Â ¹Ýȯ µË´Ï´Ù. -¹êµå µ¥ÀÌÅÍ (¼ÒÄÏ ¿É¼Ç SO_OOBINLINE)¿¡ ¼± ¼ö½Å ¼ÒÄÏÀ» ±¸¼º ÇÏ´Â °æ¿ì-¹êµå µ¥ÀÌÅÍ´Â Àбâ-¹êµå µ¥ÀÌÅ͸¸ ¹Ýȯ µË´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ´õÀÇ ´ë¿ª µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ³²¾Æ ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎ ÇÏ·Á¸é IOCtlSIOCATMARK ¿É¼Ç ¶Ç´Â OnOutOfBandData ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. SOCK_STREAM ¼ÒÄÏ¿¡ ´ë ÇÑ lpSockAddr ¹× lpSockAddrLen ¸Å°³ º¯¼ö´Â ¹«½Ã µË´Ï´Ù. ¡£

µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ¿¡ ´ë ÇÑ µ¥ÀÌÅ͸¦ Á¦°ø ÇÏ´Â ¹öÆÛÀÇ Å©±â´Â ù ¹ø° Å¥¿¡ Ãß°¡ µÈ µ¥ÀÌÅÍ ±×·¥¿¡¼­ ÃßÃ⠵˴ϴÙ. µ¥ÀÌÅÍ ±×·¥ Á¦°ø ¹öÆÛ º¸´Ù Å©¸é ¸Þ½ÃÁöÀÇ Ã¹ ¹ø° ºÎºÐÀ¸·Î ¹öÆÛ°¡ ä¿öÁý´Ï´Ù, ±×¸®°í ÃÊ°ú µ¥ÀÌÅÍ´Â ¼Õ½Ç ¹× ReceiveFrom ¼³Á¤ WSAEMSGSIZE ¿À·ù ÄÚµå¿Í ÇÔ²² SOCKET_ERROR ÀÇ °ªÀ» ¹Ýȯ ÇÕ´Ï´Ù.

LpSockAddr , 0ÀÌ ¾Æ´Ñ °æ¿ì Çü½ÄÀÇ SOCK_DGRAM¼ÒÄÏÀº ¼ÒÄÏ¿¡¼­ µ¥ÀÌÅ͸¦ Àü¼Û ÇÏ´Â ³×Æ®¿öÅ© ÁÖ¼Ò ÇØ´ç SOCKADDR ±¸Á¶¿¡ º¹»ç µË´Ï´Ù. LpSockAddrLen °¡ °¡¸®Å°´Â °ªÀÌÀÌ ±¸Á¶Ã¼ÀÇ Å©±â¸¦ ÃʱâÈ­ ÇÏ °í °Å±â¿¡ ÀúÀå µÈ ÁÖ¼ÒÀÇ ½ÇÁ¦ Å©±â¸¦ ³ªÅ¸³»±â À§ÇØ º¹±Í¿¡ ¼öÁ¤ µË´Ï´Ù. ¼ÒÄÏ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â µé¾î¿À´Â µ¥ÀÌÅÍ°¡ ¾ø´Â °æ¿ì ReceiveFrom È£ÃâÀÌ µµÂø ÇÏÁö ¾Ê´Â ¼ÒÄÏ µ¥ÀÌÅ͸¦ ±â´Ù¸®´Â ºñºí·ÎÅ·. ÀÌ °æ¿ì SOCKET_ERROR ÀÇ °ªÀº ¼³Á¤ WSAEWOULDBLOCK¿À·ù ÄÚµå¿Í ÇÔ²² ¹Ýȯ µË´Ï´Ù. ´õ ¸¹Àº µ¥ÀÌÅÍ°¡ µµÂø ÇÏ´Â ½Ã±â¸¦ °áÁ¤ ÇÏ´Â OnReceive Äݹ顣

ReceiveFrom À¯ÇüÀÇ SOCK_STREAM ¼ÒÄÏÀº ¿ø°Ý ÂÊ ¿¬°á Á¤»óÀûÀ¸·Î Á¾·á ÇÏ´Â °æ¿ì 0 ¹ÙÀÌÆ®¸¦ ¹ÞÀº Áï½Ã ¿Ï·á µË´Ï´Ù.

CAsyncSocket °³¿ä |nbsp; Ŭ·¡½º ¸â¹ö (ko) | °èÃþ ±¸Á¶ Â÷Æ®(&N)

Âü°í Ç׸ñnbsp;CAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket::Receive, CAsyncSocket::Send(&N)

Index