WSAAsyncGetServByPort

WSAAsyncGetServByPort ÇÔ¼ö´Â ÁöÁ¤µÈ Æ÷Æ®¿Í ÇÁ·ÎÅäÄÝ°ú ºÎÇÕÇÏ´Â ¼­ºñ½º Á¤º¸¸¦ ¾ò¾î³»´Â ÇÔ¼öÀÔ´Ï´Ù.

HANDLE WSAAsyncGetServByPort (
            HWND  
hWnd,
            unsigned int  
wMsg,
            int   
port,
            const char FAR *  
proto,
            char FAR *  
buf,
            int   
buflen
);

 

Parameters

hWnd
[ÀÔ·Â] ºñµ¿±â ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾úÀ» ¶§ ¸Þ½ÃÁö¸¦ ¼ö½Å¹ÞÀ» À©µµ¿ìÀÇ ÇÚµé

wMsg
[ÀÔ·Â] ºñµ¿±â ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾úÀ» ¶§ ¼ö½Å¹ÞÀ» ¸Þ½ÃÁö

port
[ÀÔ·Â] ¼­ºñ½º Æ÷Æ®¹øÈ£, ³×Æ®¿÷ ¹ÙÀÌÆ® ¿À´õ·Î ³Ñ°Ü ÁÝ´Ï´Ù.

proto
[ÀÔ·Â] ÇÁ·ÎÅäÄÝ À̸§¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁÝ´Ï´Ù. ÀÌ°ªÀº port ¸Å°³º¯¼ö Çϳª·Î¸¸, ¼­ºñ½º Á¤º¸¸¦ ¾ò°íÀÚ ÇÒ ¶§, NULLÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à proto ¸Å°³º¯¼ö¸¦ NULLÀÌ ¾Æ´Ñ °ªÀ¸·Î ³Ñ°ÜÁÖ¿¡ µÇ¸é,
WSAAsyncGetServByPort ÇÔ¼ö´Â port¿Í proto ¾çÂÊ´Ù ÀÏÄ¡ÇÏ´Â ¼­ºñ½º Á¤º¸¸¦ ¹Ýȯ ÇÏ°Ô µË´Ï´Ù.

buf
[Ãâ·Â]
SERVENT µ¥ÀÌÅ͸¦ ¼ö½Å¹ÞÀ» µ¥ÀÌÅÍ ¿µ¿ª¿¡ ´ëÇÑ Æ÷ÀÎÅÍ. ÀÌ µ¥ÀÌÅÍ ¿µ¿ªÀº SERVENT ±¸Á¶Ã¼ÀÇ Å©±âº¸´Ù ´õ Ä¿¾ß ÇÕ´Ï´Ù. ¿Ö³Ä¹È, ³Ñ°ÜÁØ µ¥ÀÌÅÍ ¿µ¿ªÀº SERVENT±¸Á¶Ã¼¿Í ±×¿Ü ¸ðµç µ¥ÀÌÅ͸¦ °¡Áöµµ·Ï À©µµÁî ¼ÒÄÏÀÌ »ç¿ëÇϱ⠶§¹®ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î MAXGETHOSTSTRUCT ¹ÙÀÌÆ® Å©±âÀÇ ¹öÆÛ¸¦ »ç¿ëÇÕ´Ï´Ù.

buflen
[ÀÔ·Â] buf ¸Å°³º¯¼ö¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÇ Å©±â

 

Remarks

WSAAsyncGetServByPort ÇÔ¼ö´Â getservbyport ÇÔ¼öÀÇ ºñµ¿±â ¹öÀüÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö´Â port ¹øÈ£¿Í ºÎÇÕÇÏ´Â ¼­ºñ½º Á¤º¸¸¦ ¾ò¾î³À´Ï´Ù. ÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µÇ¸é, À©µµÁî ¼ÒÄÏÀº ¿¬»êÀ» ½ÃÀÛÇϰԵǰí, Áï°¢ ÇÔ¼ö´Â ¹ÝȯµË´Ï´Ù. Áï, ºí·ÏÅ·µÇÁö ¾Ê´Â´Ù´Â ÀǹÌÁÒ. ºñµ¿±â ¿¬»êÀº »ª~ À¸·Î º¸ÀÌÁö ¾Ê°Ô ¼öÇàµË´Ï´Ù. ÀÌ·¸°Ô ¹Ù·Î ÇÔ¼ö°¡ ¹Ýȯ ÇÒ ¶§ ÁÖ´Â ¸®ÅÏ°ªÀº ºñµ¿±â ŽºÅ© ÇÚµéÀÔ´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡¼­´Â ÀÌ°ªÀ» ´Ù¸¥ ÀÛ¾÷À» Çϴµ¥ »ç¿ë ÇÒ ¼ö ÀÖ½À´Ï´Ù. ºñµ¿±â ¿¬»êÀÌ ³¡³ª°Ô µÇ¸é, ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ³Ñ°ÜÁÖ¾ú´ø ¹öÆÛ¿¡ ¼­ºñ½º Á¤º¸°¡ Ä«ÇÇµÇ°Ô µË´Ï´Ù. ±×¸®°í, ÁöÁ¤µÈ ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì·Î ¸Þ½ÃÁö°¡ º¸³»Áö°Ô µË´Ï´Ù.

ºñµ¿±â ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾úÀ» ¶§, hWnd·Î ÁöÁ¤µÇ¾ú´ø ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì´Â wMsg ·Î ÁöÁ¤µÇ¾ú´ø ¸Þ½ÃÁö¸¦ ¼ö½Å¹Þ°Ô µË´Ï´Ù. wParam ¸Å°³º¯¼ö´Â ºñµ¿±â ŽºÅ© ÇÚµéÀ» °¡Áö°Ô µË´Ï´Ù. ÀÌ Å½ºÅ© ÇÚµéÀº ÇÔ¼ö¸¦ È£ÃâÇßÀ» ¶§ ¸®ÅϹÞÀº ÇÚµé°ú °°Àº ÇÚµéÀÔ´Ï´Ù. lParamÀÇ »óÀ§ 16ºñÆ®´Â WINSOCK(2).H¿¡ Á¤ÀǵǾî Àִ ƯÁ¤ÇÑ ¿¡·¯Äڵ尡 µÉ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¿¡·¯Äڵ尡 0À̶ó¸é, ºñµ¿±â ÀÛ¾÷ÀÌ ¿¡·¯¾øÀÌ ¼º°øÀûÀ¸·Î ¼öÇàµÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù.

¼º°øÀûÀÎ ¼öÇà ÈÄ¿¡, ÇÔ¼öÈ£Ãâ½Ã Á¦°øµÇ¾ú´ø buffer´Â SERVENT ±¸Á¶Ã¼¸¦ °¡Áö°Ô µË´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ Á¢±ÙÇÏ·Á¸é, ¸ÕÀú buffer ¾îµå·¹½º¸¦ SERVENT ±¸Á¶Ã¼·Î ij½ºÆÃÇÏ°í, ¸â¹ö¸¦ Á¢±ÙÇÏ¸é µË´Ï´Ù.

¸¸¾à WSAENOBUFS ¿¡·¯Äڵ尡 ¹ß»ýÇÑ °æ¿ì ÇÔ¼öÀÇ È£Ãâ½Ã ³Ñ°ÜÁÖ¾ú´ø buflenÀÇ Å©±âÀÎ buffer°¡ ¸ðµç Á¤º¸¸¦ ´ã±â¿¡ ³Ê¹«ÀÛÀº °æ¿ìÀÔ´Ï´Ù. ÀÌ·± °æ¿ì lParamÀÇ ÇÏÀ§ 16ºñÆ®´Â ¸ðµç Á¤º¸¸¦ ´ã±â¿¡ ÃæºÐÇÑ ¹öÆÛÀÇ Å©±â¸¦ °¡¸£ÃÄ ÁÖ°Ô µÇÁÒ. Áï, lParamÀÇ ÇÏÀ§ 16ºñÆ® Å©±â¸¸Å­ÀÇ ¹öÆÛ¸¦ ÇÒ´çÇؾßÁö¸¸, Á¤»óÀûÀÎ Á¤º¸¸¦ ¾ò¾î³¾ ¼ö ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù.

lParam¿¡ Æ÷ÇԵǾî ÀÖ´Â ¿¡·¯ÄÚµå¿Í ¹öÆÛÀÇ ±æÀÌ´Â WSAGETASYNCERROR °ú WSAGETASYNCBUFLEN ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇؼ­ »Ì¾Æ³¾ ¼öµµ ÀÖ½À´Ï´Ù.

#define WSAGETASYNCERROR(lParam)          HIWORD(lParam)         //¿¡·¯ÄÚµå °Ë»ö
#define WSAGETASYNCBUFLEN(lParam)         LOWORD(lParam)        //ÇÊ¿äÇÑ ¹öÆÛÀÇ ±æÀÌ °Ë»ö

ÀÌ·¯ÇÑ ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇϸé, ÄÚµåÀÇ À̽ļºÀÌ ÁÁ¾ÆÁø´Ù°í ÇÕ´Ï´Ù.

 

Return Values

¸®ÅÏ°ªÀº ºñµ¿±âÀûÀÎ ¿¬»êÀÌ ¼º°øÇßµç ¾Æ´Ïµç°£¿¡ ¹ÝȯµË´Ï´Ù. ÀÌ ¸®ÅÏ°ª ±×ÀÚü·Î´Â ¿¬»êÀÌ Á¤»óÀûÀ¸·Î ¼öÇàµÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ °áÁ¤ÇÒ ¼ö´Â ¾ø½À´Ï´Ù.

¸¸¾à ¾Æ¹«·± ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù¸é, WSAAsyncGetProtoByPort ÇÔ¼ö´Â 0ÀÌ ¾Æ´Ñ ºñµ¿±â ŽºÅ© ÇÚµéÀ» ¹Ýȯ ÇÕ´Ï´Ù(À©µµÁî HTASK¿Í Çò°¥¸®Áö ¸¶¼¼¿ä). ÀÌ ºñµ¿±â ŽºÅ© ÇÚµéÀº µÎ°¡Áö ¿ëµµ·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ù ¹ø°·Î WSACancelAsyncRequest ÇÔ¼ö¿¡ »ç¿ëÇؼ­ ÀÛ¾÷ÁßÀÌ ¿¬»êÀ» ÁßÁö ½Ãų ¼ö ÀÖ°í, µÎ ¹ø°·Î ¿¬»êÀÌ ¿Ï·áµÇ¾úÀ» ¶§ ¸Þ½ÃÁö¸¦ ¹Þ´Â ·çƾ¿¡¼­ wParam°ú, ÀÌ ºñµ¿±â ŽºÅ© ÇÚµéÀ» ºñ±³Çؼ­ ¾î¶² ÀÛ¾÷ÀÇ ¿Ï·á ¸Þ½ÃÁö ÀÎÁö¸¦ ºñ±³Çؼ­ ÃßÃâÇØ ³¾ ¼ö µµ Àִ°ÅÁÒ.

¸¸¾à ºñµ¿±â ¿¬»êÀÌ ÃʱâÈ­µÇ°í ½ÃÀÛµÇÁö ¸øÇß´Ù¸é, ÀÌ ÇÔ¼ö´Â 0°ªÀ» ¹Ýȯ ÇÏ°í, WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¹Ýȯ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Error Codes

¾Æ·¡ÀÇ ¿¡·¯ÄÚµå´Â ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì°¡ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ¾ò¾î³¾ ¼ö ÀÖ´Â ¿¡·¯ÄÚµåÀÔ´Ï´Ù. ´Ù½Ã¸»Çϸé, ¼ö½ÅµÈ ¸Þ½ÃÁöÁß lParam ¸Å°³º¯¼ö¸¦ WSAGETASYNCERROR ¸ÅÅ©·Î¸¦ »ç¿ëÇؼ­ »Ì¾Æ³¾ ¼ö ÀÖ´Â °ªÀÔ´Ï´Ù.

WSAENETDOWN ³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡¼­ ¿¡·¯°¡ ¹ß»ý Çß½À´Ï´Ù.
WSAENOBUFS »ç¿ë°¡´ÉÇÑ ¹öÆÛ °ø°£ÀÌ ºÎÁ·ÇÕ´Ï´Ù.
WSAEFAULT name ¶Ç´Â buf ¸Å°³º¯¼ö°¡ 󸮸¦ Çϱ⿡ ¿Ã¹Ù¸¦ ÇüÅ°¡ ¾Æ´Õ´Ï´Ù.
WSAHOST_NOT_FOUND Á¤´çÇÑ(Authoritative) È£½ºÆ®¸¦ ã¾Æ³¾ ¼ö ¾ø½À´Ï´Ù.
WSATRY_AGAIN Á¤´çÇÏÁö ¾ÊÀº(Non-Authoritative)¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù. ¶Ç´Â ¼­¹ö½ÇÆÐ ÀÔ´Ï´Ù.
WSANO_RECOVERY ȸº¹ÇÒ ¼ö ¾ø´Â ¿¡·¯¹ß»ý
WSANO_DATA À߸øµÈ À̸§(name)À¸·Î ¾Æ¹«·± µ¥ÀÌÅÍ°¡ ±â·ÏµÇÁö ¾Ê¾Ò½À´Ï´Ù.

¾Æ·¡ÀÇ ¿¡·¯ÄÚµå´Â º» ÇÔ¼ö¸¦ È£Ãâ ÇßÀ» ¶§ ¹ß»ýµÉ ¼ö ÀÖ´Â ¿¡·¯ÄÚµåÀÔ´Ï´Ù. ±×¸®°í, ÀÌ·¯ÇÑ ¿¡·¯Äڵ尡 °ËÃ⠵ǾúÀ» ¶§ ºñµ¿±â ¿¬»êÀº ½ÃÀÛ µÉ ¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

WSANOTINITIALISED

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

WSAENETDOWN

³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡¼­ ¿¡·¯°¡ ³µ½À´Ï´Ù.

WSAEINPROGRESS

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

WSAEWOULDBLOCK ºñµ¿±â ¿¬»êÀÌ ¸®¼Ò½º³ª ´Ù¸¥ ¹Ý´ëÀûÀÎ ¿ä¼Òµé ¶§¹®¿¡ ÁøÇàµÉ ¼ö ¾ø½À´Ï´Ù.

 

QuickInfo

Windows NT : »ç¿ë°¡´É
Windows : »ç¿ë°¡´É
Windows CE : Áö¿øµÇÁö ¾ÊÀ½
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, getservbyport, WSACancelAsyncRequest