|
 |
 |
| ¸¶À» °Ô½ÃÆÇ |
µî·ÏµÈ
¸¶À» °Ô½ÃÆÇÀÌ
¾ø½À´Ï´Ù. |
|
|
|
|
 |
|
|
|
|
|
|
MFC¿¡¼ ¼ÒÄÏÀ» ÀÌ¿ëÇÑ ÆÄÀÏÀü¼Û±â ¸¸µé±â(2Àå-MFC¼ÒÄÏŬ·¡½º) | WinSock |
2001-02-05 ¿ÀÈÄ 9:41:25 |
|
| ÃÖÈÆÀÍ
|
¹øÈ£:
1409
/ ÀÐÀ½:13,583 |
Çä....¿À´Ã¾ÆÄ§¿¡ Á¦ °ÁÂÀÇ Á¶È¸¼ö¸¦ º¸°í Àü ³î¶ó°í ¸»¾Ò½À´Ï´Ù. ÀÌ ºÐ¾ß¿¡ °ü½ÉµéÀÌ Á¤¸» ´ë´ÜÇϱº¿ä... ´õ °øºÎÇÑ µÚ¿¡ ½ÃÀÛÇÒ°É... ÇãÁ¢À̴ Ŭ³µ±º.... À̸¶¿¡ ¶¡ÀÌ ³ª´õ±º¿ä.... À½.... ºÎµð ¿©·¯ºÐÀ» ½Ç¸Á½ÃŰÁö ¸»¾Æ¾ß ÇÒÅÙµ¥... ÇÏ´ÃÀÌ¿© ³»°Ô ÈûÀ» ÁÖ¼Ò¼..
´Ù½Ã ¶Ç ´ë° 2ÀåÀÌ Á¤¸®µÇ¾ú½À´Ï´Ù. ¿ø·¡´Â À̹ø Àå¿¡¼ ´õ ¸¹Àº À̾߱⸦ ÇÒ·Á°í ÇßÁö¸¸.. õ½Ã(Åð±Ù½Ã°£)¿Í Áö¸®(»ç¹«½Ç)¿Í ÀÎÈ(´«Ä¡º¸ÀÓ)°¡ µµ¿ÍÁÖÁú ¾Ê´Â±º¿ä.. ŸÀÌÇÎÇÏ´À¶ó ¼Õµµ ³Ñ ¾ÆÇÅ´Ï´Ù. Á˼º..
----------------------------- Á¦2Àå MFC ¼ÒÄÏÁö¿ø Ŭ·¡½º -----------------------------
ÀÌÁ¦ºÎÅÍ´Â º»°ÝÀûÀ¸·Î ¼ÒÄÏÀ» »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ À̾߱â ÇØ¾ßÇÒ ¶§°¡ µÈ°Í°°´Ù. 1ÀåÀÇ ³»¿ëÀ» º° ¹«¸® ¾øÀÌ ÀÌÇØÇß´Ù¸é, ¾îµð°¡¼ "¼ÒÄÏÀ̶õ ¹«¾ùÀΰ¡?-.-?" ¿¡ °ü ÇÑ ÁÖÁ¦·Î À̾߱â ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿©±â¿¡ À̹øÀå¿¡¼ ´Ù·ê ³»¿ëÀ» ´Ù½Ã ¹«¸®¾ø ÀÌ ÀÌÇØÇÑ´Ù¸é(»ç½Ç ¾î·Á¿î°Å Çϳªµµ ¾ø´Ù), À̹ø¿¡´Â ¾îµð°¡¼ "³ ¼ÒÄÏÀ» ÇÁ·Î±×·¡ ¹ÖÇÒ ÁÙ ¾È´Ù -,.-" Çϰí À̾߱â ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
1. MFC ¼ÒÄÏ Å¬·¡½º¿Í ¸â¹öµé ¸ÕÀú MFC¿¡¼ ¼ÒÄÏ APIµéÀ» ĸ½¶È ÇØ ³õÀº Ŭ·¡½ºµé¿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÀÚ. ÀÌµé ¼Ò ÄÏ Å¬·¡½º´Â CAsyncSocket °ú CSocket Ŭ·¡½º Àε¥, CSocketÀº CAsyncSocketÀ¸ ·Î ºÎÅÍ »ó¼ÓµÈ Ŭ·¡½º·Î, °³¹ßÀÚ°¡ Á»´õ Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ ³õÀº °ÍÀÌ ´Ù.
CAsyncSocket °´Ã¼´Â ºñµ¿±â ¼ÒÄϰ´Ã¼Àε¥, À̸»Àº ¼ÒÄÏ¿¡¼ ¹ß»ýÇÏ´Â ¸ðµç À̺¥Æ® ¸¦ ¾Ë¾Æ³»±âÀ§ÇØ ÇÁ·Î±×·¡¸Ó°¡ ÀüºÎ ÄÚµùÀ¸·Î ó¸®ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó À©¼ÓÀÌ Á¦°øÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ´Â ¼ÒÄϰ´Ã¼¶ó´Â ¸»ÀÌ´Ù. À̰ÍÀº ³»ºÎÀûÀÎ À̾߱â ÀÌ´Ù. ¿ì¸®´Â À©¼Ó°ú À©¼Ó API¿¡ ´ëÇØ¼ ¿¬±¸³í¹®À» ¾²°íÀÚ ÇÏ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡, ÀÌ ¸»À» ´Ü Áö ÀÌ·¸°Ô ÀÌÇØÇϵµ·Ï ÇÏÀÚ.
"CAsyncSocketÀº ºñµ¿±â ¼ÒÄÏÀ» Ç¥ÇöÇÏ´Â °´Ã¼·Î¼, ¼ÒÄÏÀÇ À̺¥Æ®´Â °´Ã¼¿¡¼ Á¦ °øÇÏ´Â À̺¥Æ®Çڵ鷯¸¦ ¿À¹ö¶óÀ̵åÇØ¼ ÀûÀýÈ÷ »ç¿ëÇÒ ¼ö ÀÖ´Ù"
CSocket °´Ã¼´Â ºñµ¿±â ¼ÒÄÏÀÇ È®ÀåÆÇÀ¸·Î, µ¿±â¼ÒÄÏ °´Ã¼ÀÌ´Ù. ºñµ¿±â ¼ÒÄÏÀÌ À̺¥ Æ® Áß½ÉÀ¸·Î ÇÁ·Î±×·¡¸Ó°¡ ÇØ´ç À̺¥Æ®¿¡ ´ëÇÑ Á÷Á¢ÀûÀÎ Á¦¾î¸¦ ¼öÇàÇÏ´Â ¹Ý¸é, µ¿±â ¼ÒÄÏÀº ºñµ¿±â ¼ÒÄÏÀÇ À̺¥Æ® ó¸® ¸ðµâÀ» ±âº»ÀûÀ¸·Î ³»ÀåÇϰí ÀÖ´Ù°í º¸¸é µÈ´Ù.
¿¹¸¦ µé¾î¼, ºñµ¿±â ¼ÒÄÏÀ¸·Î ¼ÒÄÏÀ» »ý¼ºÇÑ ´ÙÀ½ ¼¹ö·Î ¿¬°áÇϱâ À§ÇØ ÇÁ·Î±×·¡¸Ó ´Â CAsyncSocketÀÇ Connect() ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. Connect() ÇÔ¼ö´Â ºñµ¿±â ¼ÒÄÏÀÌ ±â ¶§¹®¿¡ ¾ÆÁ÷ ¿¬°áµÇÁö ¾Ê¾ÒÀ½À» ³ªÅ¸³»´Â FALSE °ªÀ» ¹Ù·Î ¸®ÅÏÇÑ´Ù. ±×¸®°í OnConnect() °¡»ó ÇÔ¼ö°¡ È£ÃâµÉ ¶§±îÁö ´ë±â »óÅ¿¡ ÀÖ°Ô µÇÁö¸¸, µ¿±â ¼ÒÄÏÀº ConnectHelper()¶ó´Â ÇÔ¼ö¸¦ Á¦°øÇØ ¼ÒÄÏ ¿¬°áÀÌ ¿Ï·áµÉ ¶§±îÁö ¸®ÅÏÇÏÁö ¾Ê´Â´Ù. µû¶ó¼ ConnectHelper() ÇÔ¼öÀÇ ¸®ÅÏ °ªÀÌ FALSE¶ó´Â Àǹ̴ ¼ÒÄÏ ¿¬°á ½ÇÆÐ¸¦ °¡ ¸®Å²´Ù. Áï, ºñµ¿±â ¼ÒÄÏÀ» ¾µ¶§¿¡´Â, Connect()ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ ±× °á°ú¸¦ ó¸®Çϱâ À§ÇØ ¼ OnConnect ¸Þ½ÃÁö Çڵ鷯¸¦ ¿À¹ö¶óÀ̵å ÇØ ÁÖ¾î¾ß Çϴµ¥, µ¿±â ¼ÒÄÏÀ» »ç¿ëÇÑ´Ù ¸é, Connectµ¿ÀÛ(¼¹ö¿¡ Á¢¼ÓÇϱâ À§ÇÑ µ¿ÀÛ)ÀÌ ¿Ï·áµÈ ÈÄ(°´Ã¼°¡ ³»ºÎÀûÀ¸·Î ó¸® ¸¦ ¼öÇàÇÑ ÈÄ)¿¡ ÇÔ¼ö°¡ ¸®ÅÏÇϹǷÎ, ¹Ù·Î ±× ÇÔ¼öÀÇ ¸®ÅϰªÀ» Á¶»çÇϸé, ÇÔ¼öÀÇ ½Ç Çà °á°ú¸¦ ¾ò°Ô µÈ´Ù´Â °ÍÀÌ´Ù. MSDN¿¡ º¸¸é, Important ¶ó°í °Á¶µÈ ±Û·Î CSocket °´Ã¼¿¡¼´Â OnConnect°¡ °á ÄÚ È£ÃâµÇÁö ¾Ê´Â´Ù°í Àû¾î³õÀº ºÎºÐÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¾î´À °ÍÀÌ ´õ ¸¶À½¿¡ µå´Â°¡? ¾î¶² »ç¶÷Àº ºñµ¿±â ¼ÒÄÏÀÌ ÇÁ·Î±×·¥»ó ´õ ¸¹Àº À¶Å뼺À» Á¦°øÇϱ⠶§¹®¿¡ À̸¦ ¼±È£ ÇÑ´Ù. ¹°·Ð....³ªµµ ¸¶Âù°¡Áö ÀÌ´Ù. -.-; ´«Ä¡ °Ì³ª°Ô ºü¸¥ »ç¶÷Àº 1Àå¿¡¼ ¿¹½ÃÇÑ Äڵ带 »ó±âÇϸé¼, ¿ì¸®´Â ÀÌ µÎ ¼ÒÄϰ´Ã¼ ¸¦ ÀûÀýÈ÷ È¥ÇÕÇÏ¿© »ç¿ëÇÒ °ÍÀ̶õ °ÍÀ» ¹ú½á ´«Ä¡ ëÀ» Áöµµ ¸ð¸¥´Ù. ¶Ç´Â À§¿¡¼ ¾ð±ÞÇÑ ³»¿ë ¶§¹®¿¡ ¾öû °í¹ÎÇϰí ÀÖ´Â ºÐµµ °è½ÇÁö ¸ð¸£°Ú´Ù. »ç½Ç, À§ÀÇ ³»¿ëÀº ÀÌÇØÇÏÁö ¸øÇصµ ÄÚµùÇϴµ¥ ÁöÀåÀÌ ¾ø´Ù(ÈÞ... ´ÙÇàÀ̷αº..) ¾î¼¸é, ¼ÒÄϰ´Ã¼µé ÀÇ ¼¼ºÎÀûÀÎ ¼º°Ýµé¿¡ °üÇØ¼´Â ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ¼ ¿¬½ÀÇÏ°í °è¼Ó °øºÎÇÏ´Â µ¿ ¾È¿¡ ÀÚ¿¬È÷ ¾Ë°Ô µÉ Áöµµ ¸ð¸¥´Ù. ¶ÇÇÑ CSocketÀÌ CAsyncSocketÀ¸·Î ºÎÅÍ »ó¼Ó¹Þ ¾Ò´Ù´Â °ÍÀ» »ó±âÇØ¾ß ÇÑ´Ù. µÑÀº ±Ùº»ÀÌ °°´Ù.
ÀÌÁ¦, ¼ÒÄϰ´Ã¼ÀÇ ¸â¹öÇÔ¼ö¿Í À̵éÀ» »ç¿ëÇÏ°Ô µÇ´Â ÀϹÝÀûÀÎ Ç÷ο쿡 ´ëÇØ ¾Ë¾Æº¸ ÀÚ.
¼ÒÄÏÀ» »ç¿ëÇϱâ À§Çؼ´Â ¸Ç óÀ½ ¼ÒÄÏÀ» ÃʱâÈ ÇØ¾ß ÇÑ´Ù. ÀÌ °úÁ¤Àº ´Ü¼øÈ÷ ÇÔ¼ö Çϳª¸¦ È£ÃâÇÏ¸é ³¡³´Ù. AfxSocketInit(NULL); MSDN¿¡¼´Â ÀÌ ÇÔ¼ö¸¦ ¾ÖÇø®ÄÉÀÌ¼Ç °´Ã¼(CWinApp)ÀÇ InitInstanceÇÔ¼ö¿¡¼ È£Ãâ Ç϶ó°í µÇ¾î ÀÖ´Ù. ¾îµð¼ È£ÃâÇϵç, ¼ÒÄÏÀ» »ç¿ëÇϱâ Àü¿¡ ¼ÒÄÏÀÌ ÃʱâÈ µÇ¾î¾ß ÇÑ ´Ù.
--------------- CreateÇÔ¼ö -------------------------------- ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¼ÒÄÏÀ» ÃʱâÈ ÇßÀ¸¸é, ÀÌÁ¦ ¼ÒÄÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼ÒÄÏÀ» »ç¿ë Çϱâ À§Çؼ´Â ¼ÒÄÏ °´Ã¼ÀÇ ÀνºÅϽº¸¦ »ý¼ºÇϰí ÀÌ ÀνºÅϽºÀÇ ¸â¹öÀÎ CreateÇÔ¼ö ¸¦ È£ÃâÇÑ´Ù. CAsyncSocket mySoc; mySoc.Create(UINT nPort); À§ÀÇ ¿¹´Â ¼¹öÃø¿¡¼ Ŭ¶óÀ̾ðÆ®ÀÇ Á¢¼Ó¿äûÀ» ±â´Ù¸± ¼ÒÄÏÀ» »ý¼ºÇÏ´Â ¿¹ÀÌ´Ù. CreateÇÔ¼ö´Â À©µµ¿ìÁî ¼ÒÄÏÀ» »ý¼ºÇϰí, À̸¦ È£ÃâÇÑ ÀνºÅϽº¿¡ »ý¼ºµÈ ¼ÒÄÏÀ» ºÙ ¿©ÁØ´Ù. ÀÌ ÇÔ¼ö´Â ¿ø·¡ 4°³ÀÇ ÀÎÀÚ¸¦ ¹Þ´Âµ¥, ¸ðµÎ ´Ù µðÆúÆ® °ªÀÌ ÁöÁ¤µÇ¾î ÀÖ´Ù. ¿øÇüÀº ´ÙÀ½°ú °°Àº ÇüÅÂÀÌ´Ù.
CAsyncSocket::Create(UINT nSocketPort, int nSocketType, long lEvent, LPCTSTR lpszSocketAddress)
ù¹øÂ° ÀÎÀÚ nSocketPort´Â ¼ÒÄÏÀÌ »ç¿ëÇÒ Æ÷Æ®ÀÌ´Ù. µðÆúÆ®´Â 0Àε¥, ÀÌ °ª¿¡ 0 À» Àü´ÞÇϸé, Æ÷Æ®ÀÇ ¹øÈ£¸¦ ¼ÒÄÏÀÌ ÀÚµ¿À¸·Î ÇÒ´çÇØ¼ »ç¿ëÇÏ°Ô ÇÑ´Ù. µÎ¹øÂ° ÀÎÀÚ nSocketTypeÀº ¼ÒÄÏÀÇ ÇüŸ¦ ÁöÁ¤ÇÏ´Â »ó¼ö·Î, µðÆúÆ®´Â SOCK_STREAMÀε¥, À̰ÍÀº »ý¼ºµÇ´Â ¼ÒÄÏÀ» ½ºÆ®¸² ¼ÒÄÏÀ¸·Î »ý¼ºÇϵµ·Ï ÇÑ´Ù. ¸¸ ÀÏ ÀÌ °ªÀ¸·Î SOCK_DGRAMÀ» Àü´ÞÇϸé, UDP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ´Â µ¥ÀÌÅͱ׷¥ ¼ÒÄÏ À» »ý¼ºÇÑ´Ù. ¼¼¹øÂ° ÀÎÀÚ lEvent´Â ºñÆ®¸¶½ºÅ©·Î, ¼ÒÄÏ¿¡¼ ó¸®ÇϰíÀÚ ÇÏ´Â ¸Þ½ÃÁö¸¦ ¼ÒÄÏ¿¡°Ô ¾Ë·ÁÁØ´Ù. µðÆúÆ®°ªÀº ¼ÒÄÏ¿¡¼ ¹ß»ýÇÏ´Â ¸ðµç ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â °ÍÀε¥, º¸Åë ÀÌ´ë ·Î »ç¿ëÇÑ´Ù. ³×¹øÂ° ÀÎÀÚ nSocketAddress´Â Á¢¼ÓµÇ´Â ¼ÒÄÏÀÇ IP¾îµå·¹½º¸¦ °¡Áø ¹®ÀÚ¿»ó¼öÀÇ Æ÷ÀÎÅÍÀε¥ µðÆúÆ®´Â NULLÀ̸ç, º¸Åë ÀÌ´ë·Î »ç¿ëÇÑ´Ù. Áï, ÀÓÀÇÀÇ Å¬¶óÀÌ¾ðÆ®·Î ºÎ ÅÍÀÇ Á¢¼Ó¿äûÀ» ¹Þ´Â´Ù.
ÀÌ °Á¿¡¼ ¾ð±ÞÇÏ´Â ¸â¹öÇÔ¼öµé¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë°í ½Í´Ù¸é, ¿ª½Ã³ª MSDNÀ» Âü Á¶ÇÏ´Â °ÍÀÌ ÃÖ¼±ÀÌ´Ù. ÀÌ °ÁÂÀÇ ¸ñÀû»ó, ¿©±â¼ ¾ð±ÞÇÏ´Â Á¤µµ·Î¸¸ ¾Ë¾ÆµÎ¾îµµ ÄÚ µù¿¡´Â ¹®Á¦ ¾øÀ» °ÍÀÌ´Ù. CreateÇÔ¼ö´Â ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¼ÒÄÏÀÇ ¿ëµµ¿¡ µû¶ó ´Ù¸¥ ±¸¹®À¸·Î ¾²ÀδÙ. ÀÌ ÇÔ¼ö¼³¸íÀÇ Ã¹ºÎºÐ¿¡¼ ´ÜÁö Æ÷Æ®¹øÈ£ Çϳª¸¸À» Àü´ÞÇÏ¸é¼ È£ ÃâÇÑ °ÍÀº ¼¹öÃøÀÇ Á¢¼Ó´ë±â¿ë ¼ÒÄÏ¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ¿ì¸®´Â Ç×»ó ¼¹öÃøÀÇ Á¢¼Ó´ë±â¿ë ¼ÒÄÏ(¸®½¼¼ÒÄÏÀ̶ó ÇÑ´Ù)¿¡¼´Â À§¿Í °°ÀÌ Create¸¦ È£ÃâÇÒ °ÍÀÌ´Ù. ¹Ý¸é, Ŭ¶óÀÌ¾ðÆ® ÃøÀÇ Á¢¼ÓÀ» ¿äûÇÒ ¼ÒÄÏ¿¡¼´Â ¾Æ¹«·± Àμöµµ Àü´ÞÇÏÁö ¾Ê°í ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¶ÇÇÑ, ¼¹öÃø¿¡¼ Á¢¼ÓÀ» ¾ï¼ÁÆ®Çϴµ¥ »ç¿ëµÇ´Â ¼ÒÄÏÀº ¾Æ¿¹ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê´Â´Ù.(ÀÌ È£Ãâ±Ô¾àÀ» ±â¾ïÇϱ⠹ٶõ´Ù. ½ÇÁ¦ ÄÚµù¿¡¼ ¾î¶² °æ¿ì ¿¡´Â CreateÇÔ¼öÀÇ À߸øµÈ È£ÃâÀÌ ¹®Á¦¸¦ À¯¹ßÇϱ⵵ ÇÑ´Ù)
------------------ Listen() ÇÔ¼ö ----------------------------- ÀÌ ÇÔ¼ö´Â ¼¹öÃø¿¡¼¸¸ »ç¿ëÇÑ´Ù. À§¿¡¼ À̾߱âÇÑ ¸®½¼¼ÒÄÏÀÌ Create¸¦ È£ÃâÇÑ ÈÄ È£ÃâÇØ¾ßÇÒ ÇÔ¼ö°¡ ¹Ù·Î À̰ÍÀÌ´Ù. ÀÌÇÔ¼ö¿¡´Â Á¤¼öÇü(int) ÀÎÀÚ¸¦ Çϳª Àü´ÞÇÏ ´Âµ¥, ÀÌ °ÍÀº Á¢¼Ó¿äûÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Â ÃÖ´ë Á¢¼Ó¿äû ¼öÀÌ´Ù. ÃÖ´ë°ªÀº 5°³ ±î ÁöÀÇ Á¢¼Ó¿äûÀ» ¹Þ´Âµ¥ µðÆúÆ®°ª ¿ª½Ã 5·Î µÇ¾î ÀÖ´Ù. 5°³ ±îÁöÀÇ Á¢¼Ó¿äûÀ» ¹Þ´Â ´Ù°í Çϴϱî, ¾î¶²ºÐÀº "¿À¿À... ¼ÒÄϰ´Ã¼´Â µû·Î ¾Æ¹«·± 󸮸¦ ÇØ ÁÖÁö ¾Ê¾Æµµ 5¸í ±îÁö´Â ´ÙÁßÁ¢¼ÓÀ» Áö ¿øÇØ Áִ±º.. ÁÁÀºµ¥??....." ÀÌ·± ÀÏÀåÃá¸ù¿¡ Á¥¾î ÀÖÀ»Áöµµ ¸ð¸£°Ú´Ù....(²ÞÀ» ±ú¼ ¹Ì¾ÈÇÏ´Ù....) ¿©±â¼ 5°³ ±îÁöÀÇ Á¢¼Ó¿äûÀ» ¹Þ´Â´Ù´Â °ÍÀº ±× º¸´Ù´Â ÈξÀ óÂüÇÑ À̾߱âÀÌ´Ù. Á¢¼Ó¿äûÀÌ µé ¾î¿À¸é ¼ÒÄÏÀº ¿äûÀ» ÀÏÁ¾ÀÇ Å¥¿¡ Áý¾î³Ö°í, ¸ÕÀúµé¾î¿Â ¼ÒÄϺÎÅÍ Á¢¼Ó¿äûÀ» ¾ï¼Á Æ®Çϴµ¥, Çϳª¿ÍÀÇ Åë½ÅÀÌ ³¡³ª¸é, ´Ù½Ã Å¥¿¡ ÀÖ´Â °¡Àå ¸ÕÀú µé¾î¿Ô´ø ¿äûÀ» ¹Þ´Â ´Ù. ³ªÁß¿¡ µé¾î¿Â Á¢¼Ó¿äûÀº ¾Õ¼ Á¢¼ÓµÈ Åë½ÅÀÌ ³¡³¯¶§±îÁö ±â´Ù·Á¾ß¸¸ ÇÑ´Ù. ¸¸ ÀÏ µ¿±â ¼ÒÄÏÀÎ CSocketÀ» »ç¿ëÇØ¼ Á¢¼Ó¿äûÀ» ÇÑ °æ¿ì¸¦ »ý°¢ÇØ º¸ÀÚ, ÀÌ Á¢¼Ó¿ä ûÀÌ Å¥¿¡¼ 5¹øÂ° À§Ä¡¿¡ ÀÖ´Ù¸é.... Á¢¼ÓÀ» ¿äûÇÑ ÇÔ¼ö´Â ¾ÕÀÇ 4°³ÀÇ Á¢¼Ó¿äûÀÌ ³¡³¯¶§±îÁö ¸®ÅÏÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù(¾ó¸¶³ª ½½Ç À̾߱â Àΰ¡??) Áï... 5°³±îÁöÀÇ Á¢ ¼Ó¿äûÀ» ¹Þ´Â ´Ù´Â °ÍÀº Å¥¿¡ 5°³ ±îÁöÀÇ Á¢¼Ó¿äûÀ» ³Ö¾î µÎ°í ó¸®ÇÒ ¼ö ÀÖ´Ù´Â ¸»ÀÌ´Ù. °áÄÚ ´ÙÁßÁ¢¼ÓÀÌ ¾Æ´Ï´Ù. ¸¸ÀÏ ÇϳªÀÇ Å¬¶óÀÌ¾ðÆ®¿Í Á¢¼ÓÇÏ°í ³ÈÄ °£·«ÇÑ µ¥ÀÌÅ͸¦ ¼ø½Ä°£¿¡ Àü¼ÛÇϰí´Â, Á¢¼ÓÀ» ´Ý´Â °æ¿ì¶ó¸é(¿¹¸¦ µé¾î ´Ü¼øÇÑ ¸Þ½ÅÀú °° Àº ÇÁ·Î±×·¥), ÀÌ °ÍÀÇ µ¿ÀÛÀº ²À ´ÙÁßÁ¢¼ÓÀÎ °Íó·³ º¸ÀÏ ¼ö ÀÖ´Ù. ±×·¯³ª, ÆÄÀÏ À», ±×°Íµµ ±× ¼ö·®¿¡ Á¦ÇѾøÀÌ ¿©·¯°³ÀÇ ÆÄÀÏÀ» ¿¬¼ÓÀûÀ¸·Î Àü¼ÛÇÒ·Á°í ÇÏ´Â ¿ì¸®¿¡ °Ô´Â ¾î¸²µµ ¾ø´Â ÀÏÀÌ´Ù. µû¶ó¼ ´ÙÁßÁ¢¼ÓÀ» Áö¿øÇϱâ À§Çؼ´Â ¹Ýµå½Ã À̸¦ ó¸® ÇØ ÁÖ´Â Äڵ尡 ÇÊ¿äÇÏ´Ù. ÀÌ ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ È£ÃâÇÑ´Ù. mySoc.Listen(); ÀÌ¿Í °°ÀÌ ÇÏ¸é ¼¹öÃøÀÇ ¼ÒÄÏÀÎ mySocÀº Á¢¼Ó ´ë±â »óŰ¡ µÇ°í, Ŭ¶óÀ̾ðÆ®ÀÇ Á¢¼Ó À» ¹Þ¾ÆµéÀÏ Áغñ°¡ µÇ¾ú´Ù.
-------------------- Connect ÇÔ¼ö --------------------------- ¼¹öÃø¿¡¼ Listen()À» È£ÃâÇÏ°í ¼ÒÄÏÀÌ ´ë±â »óŰ¡ µÇ¸é, Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼´Â Connect()ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Á¢¼ÓÀ» ¿äûÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼ö´Â µÎ°³ÀÇ ¹öÀüÀÌ ÀÖ°í, µÎ°³ÀÇ ¹öÀü ¸ðµÎ µÎ°³ÀÇ ÀÎÀÚ¸¦ ¹Þ´Â´Ù. ¿ì¸®´Â ±× ÁßÀÇ Ã¹¹øÂ° ¹öÀü¸¸ »ìÆìº¼ °ÍÀÌ´Ù. ³ª¸ÓÁö´Â (¹«½¼¸»À» ÇÒ·Á´ÂÁö ¾Ë°í ÀÖÀ» °ÍÀÌ ´Ù...) MSDNÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù(..¿ª½Ã....-.-;). ÇÔ¼ö¿¡°Ô Àü´ÞÇϴ ù¹øÂ° ÀÎÀÚ´Â ¼¹öÃø ¾ÖÇø®ÄÉÀ̼ÇÀÌ ±¸µ¿µÇ°í ÀÖ´Â ÄÄÇ»ÅÍÀÇ IP ÁÖ¼Ò¸¦ °¡Áø ¹®ÀÚ¿ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. À̰ÍÀº µµÆ®³ëÅ×À̼Ç(¼ýÀÚµé »çÀ̸¦ . À» Âï¾î ±¸ ºÐÇÑ Ç¥±â¹ý)À̳ª ¸Ó½Å³×ÀÓ(msdnÀÇ ¿¹¸¦ ÀοëÇÏÀÚ¸é "ftp.microsoft.com"°ú °°Àº Ç¥±â¹ý)À» ¾µ ¼öÀÖ´Ù. ÀÌ º¯¼ö°¡ ¹®ÀÚ¿ÀÇ Æ÷ÀÎÅͶó°í Çϴϱî Çò°¥¸± ºÐµéµµ ÀÖÀ» °Å °°´Ù. Á¤È®ÇÑ µ¥ÀÌÅÍÇüÀº LPCTSTRÀ̰í, À̰ÍÀº char *¿Í ȣȯµÈ´Ù. Á÷Á¢ "¹®ÀÚ ¿" °ú °°ÀÌ " "±âÈ£·Î µÑ·¯½Ñ ¹®ÀÚ¿À» ½áµµ µÈ´Ù. µÎ¹øÂ° ÀÎÀÚ´Â UINTÇüÀÇ Æ÷Æ®¹øÈ£ÀÌ´Ù. À̰ÍÀº ¼¹öÃøÀÇ CreateÇÔ¼ö¸¦ ¼³¸íÇÏ¸é¼ À̾߱â ÇÏ¿´´Ù. ´ç¿¬È÷ ¼¹ö Ãø ¼ÒÄÏ¿¡ Àü´ÞÇÑ °Í°ú °°Àº Æ÷Æ®¹øÈ£À̾î¾ß ÇÑ´Ù.
-------------------- Accept ÇÔ¼ö ------------------------------ Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼ Á¢¼ÓÀ» ¿äûÇϸé, (»ç½Ç, À̶§ ¼¹öÃø ¼ÒÄÏÀ¸·Î´Â OnAccept¸¦ ±¸ µ¿½Ãų ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù) ¼¹öÃø¿¡¼´Â Á¢¼ÓÀ» ¹Þ¾ÆµéÀ̱â À§Çؼ AcceptÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀÌ ÇÔ¼ö¿¡ Àü´ÞÇØ¾ß ÇÏ´Â Àμö´Â »õ·ÎÀÌ »ý¼ºÇÑ Å¬¶óÀ̾ðÆ®Ãø ¼ÒÄϰú Çü ÀÌ µ¿ÀÏÇÑ ¼ÒÄÏ °´Ã¼ÀÇ ÂüÁ¶ÀÌ´Ù. ±¸¹®Àº ´ÙÀ½°ú °°´Ù.
CSocket acceptSoc; mySoc.Accept(acceptSoc);
ÁÖÀÇÇÒ Á¡Àº Á¢¼ÓÀ» ¾ï¼ÁÆ®Çϱâ À§ÇØ »ý¼ºÇÑ ¼ÒÄÏÀº Create¸¦ È£ÃâÇÏÁö ¾Ê´Â´Ù. ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ¸é ¸®½¼ ¼ÒÄÏÀº Á¢¼ÓÅ¥·ÎºÎÅÍ Á¦ÀÏ ¿À·¡ ±â´Ù¸° Á¢¼Ó¿äûÀ» °¡Á®¿Í¼ Á¢ ¼ÓÀ» ¾ï¼ÁÆ®ÇÑ´Ù. ¸¸ÀÏ Å¥¿¡¼ ´ë±âÁßÀÎ Á¢¼Ó¿äûÀÌ ¾øÀ¸¸é, ÇÔ¼ö´Â 0(¿¡·¯)À» ¸®ÅÏÇÏ°í ¾ï¼ÁÆ®¸¦ À§ ÇØ »ý¼ºµÈ ¼ÒÄÏÀº ¹«¿ëÁö¹°ÀÌ µÈ´Ù. ÇÏÁö¸¸, ¸®½¼ ¼ÒÄÏÀº ¿©ÀüÈ÷ ´ë±â»óÅÂÀÌ´Ù. ¾ï¼Á Æ® ÇÔ¼ö´Â Á¢¼Ó Å¥°¡ ´Ù ºñ¿öÁú¶§±îÁö µ¿ÀÛÀ» ¼öÇàÇÏ·ÁÇÑ´Ù.
ÈÞ........... ÀÌÂë¿¡¼ À̹øÀåÀ» ¸¶ÃÄ¾ß ÇÒ °Í°°´Ù. ¿ø·¡´Â ¸â¹öÇÔ¼ö¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ »çÇ×°ú ´ÙÁß Á¢¼ÓÀ» À§Çؼ ¸ÖƼ½º·¹µù¿¡ ´ëÇØ ¾ð±ÞÇÒ·Á°í Çß¾ú´Ù. ±×·±µ¥ °Ü¿ì 5°³ÀÇ ÇÔ¼ö¿¡ °ü ÇØ À̾߱â ÇÏ°í ¶Ç ÇÑ ÀåÀ» Á¢¾î¾ß¸¸ ÇÑ´Ù..... À̹øÀå¿¡¼ ¼ÒÄÏŬ·¡½ºÀÇ ÀüºÎ¸¦ À̾߱â ÇÏÁö ¸øÇß´Ù. ¶Ç ¾ð±ÞµÈ ÇÔ¼öµéµµ À̰ÍÀÌ Àü ºÎ´Ù À̾߱âÇѰÍÀÌ ¾Æ´Ï´Ù. ƯÈ÷, ¸Þ½ÃÁö Çڵ鷯¿¡ ´ëÇØ¼´Â ¼Õµµ ´ëÁö ¸øÇß´Ù. ¸Þ½Ã Áö Çڵ鷯¿Í ¹Ìó¾ð±ÞÇÏÁö ¸øÇÑ ÇÔ¼öµé¿¡ ´ëÇØ¼´Â ÄÚµùÇÏ¸é¼ À̾߱â Çϵµ·Ï ÇÏÀÚ. ´ÙÀ½Àå¿¡¼´Â ¾Æ¸¶µµ ½º·¹µå¿¡ ´ëÇØ À̾߱â ÇÏ¸é¼ ÇÑÀåÀ» ÇÒ¾ÖÇØ¾ß ÇÒ °Í °°´Ù.
P.S ÀÌ Àå¿¡¼´Â µ¥ÀÌÅÍÀÇ Àü¼Û¿¡ Á÷Á¢ÀûÀ¸·Î °ü¿©ÇÏ´Â SendÇÔ¼ö¿Í ReceiveÇÔ¼ö¿¡ ´ë ÇÑ ¼³¸íÀº ÀǵµÀûÀ¸·Î Á¦¿ÜµÇ¾ú´Ù. Äڵ带 ¼³¸íÇÏ¸é¼ ÀÌ µé ÇÔ¼ö¸¦ À̾߱â ÇÒ °ÍÀÌ ´Ù. °áÄÚ ¼ÕÀÌ ¾ÆÆÄ¼ ¿©±â¼ ±×¸¸ µÎ´Â °ÍÀÌ ¾Æ´Ï´Ù.....À½......
ÀÌ ½ÃÁ¡¿¡¼ 1Àå¿¡¼ ¿¹½ÃÇÑ Äڵ带 ´Ù½ÃÇѹø »ìÆìºÁ Áֱ⠹ٶõ´Ù. ºÐ¸í ´Þ¸® º¸ÀÏ °ÍÀÌ´Ù. ±×·³ ´ÙÀ½ ÀåÀ» ±â¾àÇϸé¼...........
--------------------------------------------------------------
ÀúÀÇ °ÀÇ Ã¹¹øÂ° ºÎºÐÀ» º¸½ÅºÐµéÁß ¿Ï¼ºµÈ ¼Ò½º¸¦ ¿äûÇϽŠºÐµéÀÌ ¸îºÐ °è½Ê´Ï´Ù. Á¦°¡ Áö±Ý°¡Áö°í ÀÖ´Â ¼Ò½º´Â Á¦°¡ ¸¸µé±ä ÇßÁö¸¸, Àú¿¡°Ô ¹èÆ÷±ÇÀÌ ¾ø½À´Ï´Ù. ÀÌÀ¯ ´Â ´Ù ¾Æ½Ã°ÚÁö¿ä..¤Ì.¤Ì Àú´Â À̺¸´Ù °ÁÂÀÇ ¸ñÀû¿¡ ¸Âµµ·Ï Äڵ带 ´Ü¼øÈ ½ÃÄѼ °ÁÂ¿Í ÇÔ²² ¿Ï¼º½Ãų »ý°¢ ÀÔ´Ï´Ù. ¸¾ÀÌ ±ÞÇϽôõ¶óµµ ±â´Ù·Á Áֽñ¸¿ä.. °Á¸¦ ³¡±îÁö ÁöÄѺÁ ÁÖ¼¼¿ä..±×·¯ ¸é ¿øÇϽô °ÍÀ» ¾òÀ» ¼ö ÀÖÀ» °Ì´Ï´Ù. |
|
|
|
|
|
|
|
- ´Ê¾úÁö¸¸ °¨»çÇÕ´Ï´Ù. 2Àå Àоî¹ö·È½À´Ï´Ù.^^
¿Ç÷°ÀÇ tcp/ip¼ÒÄÏ ÇÁ·Î±×·¡¹Ö Ã¥À» µÎ¹ø °¡±îÀÌ ÀÐ°í ´Ô °ÀǸ¦ ÀÐÀ¸´Ï ´õÀÌ»ó µÎ·Á¿ï°ÍÀÌ ¾ø¾î º¸ÀÔ´Ï´Ù. °è¼Ó ÀаڽÀ´Ï´Ù. °¨»çÇÕ´Ï´Ù.

|
|
|
|
µ¦½ºÆÛÆ®(dExpert)
|
|
 |
|
|
9,000¿ø |
|
|
|
15,000¿ø |
|
|
|
15,000¿ø |
|
|
|
15,000¿ø |
|
|
|
10,000¿ø |
|
|
|
5,000¿ø |
|
|
|
15,000¿ø |
|
|
 |
|
|
3,000¿ø |
|
|
|
50,000¿ø |
|
|
|
3,000¿ø |
|
|
|
3,000¿ø |
|
|
|
9,000¿ø |
|
|
|
10,000¿ø |
|
|
|
10,000¿ø |
|
|
|
|
|
|
|
|
|