|
 |
 |
| ¸¶À» °Ô½ÃÆÇ |
µî·ÏµÈ
¸¶À» °Ô½ÃÆÇÀÌ
¾ø½À´Ï´Ù. |
|
|
|
|
 |
|
|
|
|
|
|
MFC¿¡¼ ¼ÒÄÏÀ» ÀÌ¿ëÇÑ ÆÄÀÏ Àü¼Û±â ¸¸µé±â(1Àå--°³³äÀâ±â) | WinSock |
2001-02-04 ¿ÀÈÄ 10:57:24 |
|
| ÃÖÈÆÀÍ
|
¹øÈ£:
1394
/ ÀÐÀ½:12,303 |
¼¾÷... ±×·°Àú·° 1ÀåÀÌ Á¤¸®µÇ¾î ¿Ã¸³´Ï´Ù... »ç½Ç 1ÀåÀº ¾ø¾îµµ µÇ°ÚÁö¸¸, ÃʱÞÀÚ ºÐµéÀ» À§Çؼ °³³äÀ» Àâµµ·Ï Á¤¸®ÇØ º¸¾Ò½À´Ï´Ù. ¸Ç µÚ¿¡´Â ¼º¹Ì ±ÞÇϽŠºÐµéÀ» À§ÇØ ¼ °£·«ÇÑ Äڵ带 Ãß°¡ÇØ µÎ¾ú½À´Ï´Ù. -------------------------------------------------------------------------------
----------------------------------------------- Á¦1Àå À©¼Ó, ¼ÒÄÏ, ÁÖ¼Ò, Æ÷Æ® -----------------------------------------------
ÀÌ °ÁÂÀÇ º»·ÐÀ» À̾߱â Çϱâ Àü¿¡, Àç¹Ì¾ø´Â ¸î°¡Áö »çÇ׿¡ ´ëÇØ À̾߱â ÇØ¾ß¸¸ ÇÒ °Í °°´Ù. À©¼ÓÀ» ÀÌ¿ëÇÑ ³×Æ®¿öÅ· ÇÁ·Î±×·¡¹ÖÀ̳ª ÀÎÅÍ³Ý ÇÁ·Î±×·¡¹Ö¿¡ °üÇØ À̾߱â Çϰí ÀÖ´Â ¾î´À ¼Àû¿¡¼³ª ±× ¼µÎ ºÎºÐ¿¡¼´Â ´ÙÀ½ÀÇ »çÇ׵鿡 °üÇØ À̾߱âÇÑ´Ù.
ÀÎÅͳÝÀÇ °³¿ä, ¿ª»ç, ±× ÇöȲ TCP/IP ÇÁ·ÎÅäÄÝ ¹× ±âŸ ÀÎÅÍ³Ý ÇÁ·ÎÅäÄÝ ¼ÒÄÏÀÇ °³¿ä¿Í À©¼Ó
ÀÌ °Á¸¦ Àаí ÀÖ´Â ºÐÀ̶ó¸é, (À©µµ¿ì ¼ÒÄÏ¿¡ °ü½ÉÀ» °®°í ÀÖÀ» °ÍÀ̹ǷÎ) ´ë° À§ ÀÇ ³»¿ëµé¿¡ ´ëÇØ¼´Â ¾Ë°íÀְųª, ÀÌ ³»¿ëµéÀ» À§ÇØ Âü°íÇÒ¸¸ÇÑ ´Ù¸¥ ¹æ¹ý(¼ÀûÀ̳ª Áñ°Üã¾Æ°¡´Â ÀÎÅÍ³Ý »çÀÌÆ®)ÀÌ ÀÖ´Ù°í »ý°¢ÇÑ´Ù. »ç½Ç, À§ÀÇ ³»¿ëµé¿¡ ´ëÇÑ Áö½ÄÀº ½ÇÁ¦ ÄÚµåÀÇ ±¸Çö¿¡ º° µµ¿òÀÌ ¾ÈµÈ´Ù. ±×·³¿¡µµ ºÒ±¸Çϰí, À©¼ÓÀ» ÁÖ¹«¸£´Â ÇÁ·Î±×·¡ ¸Ó¶ó¸é À§ÀÇ ³»¿ëÀ» ¾Ë°í ÀÖ¾î¾ß ¸ð¾ç»õ°¡ °®ÃçÁø´Ù.(»ç½Ç ÀÌ ¸»Àº °ÅÁþ¸»ÀÎÁöµµ ¸ð¸¥ ´Ù. ¼ÒÄÏÅë½Å ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ ´õ ±íÀÌ µé¾î°¥·Á°í Çϸé, À§ÀÇ Áö½ÄµéÀÌ ¾ó¸¶³ª µµ ¿òÀÌ µÉ °ÍÀÎÁö ³»°¡ ¾ÆÁ÷ µé¾î°¡ º¸Áö ¾Ê¾Æ¼ °æÇèÇØ º¸Áö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ƯÈ÷ ÀÎ ÅÍ³Ý ÇÁ·Î±×·¡¹ÖÀ» À§ÇØ ¼ÒÄÏÀ» °øºÎÇÏ´Â »ç¶÷À̶ó¸é ÀÎÅÍ³Ý ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ¼ °øºÎ ÇÏ´Â °ÍÀº ÇʼöÀûÀÌ´Ù) ³ª´Â ´ÜÁö ¼ÒÄÏÀ̶ó´Â °³³äÀÌ ¹«¾ùÀ̸ç ÀÎÅÍ³Ý ¶Ç´Â ´Ù¸¥ ¹æ¹ýÀÇ ³×Æ®¿öÅ© ȯ°æ¿¡¼ Åë½ÅÇÑ´Ù´Â °Í¿¡ ´ëÇØ ÀüÇô ±î¸·´«ÀÎ »ç¶÷µé, Áï ¼ÒÄÏÀ̶ó´Â ¸»À» óÀ½ µé¾îº» »ç¶÷µé À» À§Çؼ °£´ÜÇÑ °³³ä¼Ò°³¿Í ÀÌÇØÇϱâ ÁÁµµ·Ï ´Ü¼øÇÑ ºñÀ¯¸¦ µé¾îÁÖ°í´Â ÀÌ ±â³ª±ä ¼µÎÀÇ ÁÖÁ¦¸¦ ³Ñ¾î°¥ »ý°¢ÀÌ´Ù. ÃÖ¼ÒÇÑ 2ÀåÀº ³Ñ¾î°¡¾ß ÇÏÁö ¾Ê°Ú´Â°¡?
1. ¼ÒÄϰú À©¼Ó ¼ÒÄÏ ÀÎÅÍÆäÀ̽º´Â TCP/IP ³×Æ®¿öÅ© ½ºÆå¿¡ ´ëÇÑ API(Application Programming Interface)·Î, ³×Æ®¿öÅ© ¾ÖÇø®ÄÉÀ̼ÇÀÌ ½±°Ô ÀÛ¼ºµÉ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ¿î¿µÃ¼Á¦ Â÷¿ø ¿¡¼ Á¦°øµÇ´Â ÀÎÅÍÆäÀ̽ºÀÌ´Ù. ¿¹ÀüÀÇ µµ½º¿Í °°Àº ¿î¿µÃ¼Á¦ ÇÏ¿¡¼´Â ¾Æ¸¶µµ APIÀÇ µµ¿ò¾øÀ̵µ ¼øÀüÈ÷ ÇÁ·Î±×·¡¸ÓÀÇ ³ë·ÂÀ¸·Î ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇßÀ»Áöµµ ¸ð¸¥ ´Ù. ¿Ö³ÄÇϸé, µµ½º´Â ÇÁ·Î±×·¡¸Ó°¡ ÄÚµå»ó¿¡¼ Á÷Á¢ ÀÎÅÍ·´Æ®¸¦ È£ÃâÇÏ´Â °ÍÀ» Çã¿ë Çϰí, ÇÁ·Î±×·¡¸Ó´Â Á÷Á¢ Çϵå¿þ¾î¿¡ Á¢±ÙÇÒ ¼ö ÀÖ¾ú±â ¶§¹®¿¡ ³×Æ®¿÷ Ä«µå¸¦ Á¦¾îÇÏ ´Â °Íµµ °¡´ÉÇÒ °ÍÀÌ´Ù.(¹°·Ð, ÇöÀç µµ½º ÇÏ¿¡¼ ³×Æ®¿öÅ·Àº ºÒ°¡´ÉÇÏ´Ù. ¾ÕÀÇ ¸»Àº ¿î¿µÃ¼Á¦ÀÇ ¼º°ÝÀ» À̾߱â Çϱâ À§ÇÑ °ÍÀÌ´Ù) ±×·¯³ª À©µµ¿ìÁî´Â Äڵ尡 Á÷Á¢ Çϵå¿þ¾î(ÀÌ °æ¿ì ³×Æ®¿÷ Ä«µå)¸¦ Á¦¾îÇÏ´Â °ÍÀ» Çã¿ë ÇÏÁö ¾Ê´Â´Ù. Ç×»ó ¿î¿µÃ¼Á¦¿¡°Ô ÇØ´çÀÛ¾÷À» ¿äûÇϵµ·Ï µÇ¾î ÀÖ´Ù. ±×·¡¼ À©µµ¿ìÁî °¡ ³×Æ®¿öÅ·À» ÇϰíÀÚ ÇÏ´Â ÇÁ·Î±×·¡¸Ó¿¡°Ô´Â ¼ÒÄÏ API¸¦ Á¦°øÇÏ´Â °ÍÀÌ´Ù.
¿ø·¡ ¼ÒÄÏÀ̶õ ͏®Æ÷´Ï¾Æ ´ëÇÐ ¹öŬ¸® ºÐ±³(U.C. Berckly)¿¡¼ À¯´Ð½º ¿î¿µÃ¼Á¦¸¦ À§ ÇØ¼ ÃÖÃÊ·Î °³¹ßµÈ °ÍÀ¸·Î, ¾ÖÇø®ÄÉÀ̼ÇÀÌ Çϵå¿þ¾îÀÇ µð½ºÅ© »ó¿¡ ÆÄÀÏÀ» ÀÐ°í ¾² ´Â °Íó·³ ³×Æ®¿öÅ© Åë½ÅÀ» ÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾ú´ø °ÍÀε¥, À©µµ¿ìÁî ¼ÒÄÏ(À©¼Ó)Àº À̸¦ ¸ð¹æÇÏ¿© À©µµ¿ìÁî ¿î¿µÃ¼Á¦¿¡¼ ³×Æ®¿öÅ·ÀÌ ±¸µ¿µÇµµ·Ï ¸¸µé¾îÁø °ÍÀÌ´Ù. ÃÊâ ±âÀÇ À¯´Ð½º ¼ÒÄÏÀ» ¹öŬ¸®¼ÒÄÏÀ̶ó°í ÇÏ´Â °ÍÀº ÀÌ·± ¿ª»çÀûÀÎ ¹è°æÀÌ ÀÖ´Ù.
¿©±â±îÁö ÀÐÀº ºÐµéÁß ¾î¶² ºÐµéÀº "±×·¯´Ï±î ¼ÒÄÏÀÌ ¸Ó³Ä°í¿ä??"ÇÏ´Â ºÐµéÀÌ ÀÖÀ»Áö ¸ð¸£°Ú´Ù. Çä.....
Á¤¸®¸¦ ÇØº¸ÀÚ. ¼ÒÄÏÀ̶õ ¿î¿µÃ¼Á¦¿¡¼ Á¦°øµÇ´Â APIµé Áß¿¡¼ Ưº°È÷ ³×Æ®¿öÅ·À» À§ ÇÑ APIµé¿¡¼ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ±× ¸¹°í ¸¹Àº ÇÚµé ÁßÀÇ ÇϳªÀÌ´Ù. ¸¸ÀÏ ´©±º°¡°¡ ÆÄÀÏ ÀÔÃâ·ÂÀ» ±¸ÇöÇÒ·Á°í ÇÑ´Ù¸é ±×´Â ÆÄÀϰ´Ã¼¸¦ ¸¸µé°í ±× °´Ã¼ÀÇ ÇÚµéÀÌ ÇØ´çÆÄÀÏÀ» °¡¸®Å°°Ô ÇØ¾ß ÇÑ´Ù. ±×¸®°í ±× ÇÚµéÀ» »ç¿ëÇØ¼ ÆÄÀÏ IO¿¡ °ü·Ã µÈ ÀÏÀ» Çϰí, ÀÛ¾÷ÀÌ ³¡³ª¸é ±× ÇÚµéÀ» ´Ý´Â´Ù. ¼ÒÄϵµ ¸¶Âù°¡Áö·Î, ´©±º°¡°¡ ³×Æ®¿ö Å© Åë½ÅÀ» ÇϰíÀÚ ÇÑ´Ù¸é ¸Ç Ã³À½ ¼ÒÄÏ °´Ã¼¸¦ ¸¸µé°í ±× ÇÚµéÀ» ¾ò¾î¾ß ÇÑ´Ù. Åë½Å ÀÌ ³¡³ª¸é ±× ÇÚµéÀ» ´Ý¾Æ ÁÖ¾î¾ß ÇÏ´Â °ÍÀÌ´Ù. ±×·¯´Ï±î ¼ÒÄÏÀº ÆÄÀÏ µð½ºÅ©¸³ÅÍ (descriptor)¿Í À¯»çÇÏ´Ù°í º¼ ¼ö ÀÖ´Ù. ¿ì¸®°¡ ÀÏ»ó»ýȰ¿¡¼ ÆíÁö¸¦ ÁÖ°í ¹Þ´Â °Í¿¡ ºñÀ¯¸¦ ÇØº¸ÀÚ. ÆíÁö¸¦ º¸³»±â À§Çؼ´Â ÆíÁö¸¦ ¾²°í, ¿ìÇ¥¸¦ ºÙÀδÙÀ½ ¿ìüÅë¿¡ ³Ö´Â´Ù. ±×·¯¸é ±× ÆíÁö°¡ µµÂøÇϱ⠱îÁöÀÇ °úÁ¤Àº ¿ìü±¹¿¡¼ ´Ù ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù. ÆíÁö¸¦ º¸³»´Â »ç¶÷Àº ´ÜÁö ºÀÅõ¿¡ Á¤È®ÇÑ ÁÖ ¼Ò¿Í À̸§À» Àû¾î¼ ¿ìüÅë¿¡ ³Ö¾îÁÖ¸é µÇ´Â °ÍÀÌ´Ù. ÀÌ °úÁ¤¿¡¼ ¼ÒÄÏÀ̶õ ¿ìüÅë¿¡ ÇØ´çÇϸç, ÆíÁö´Â ¼ÒÄÏÀ» ÅëÇØ Àü¼ÛÇϰíÀÚ ÇÏ´Â µ¥ÀÌ ÅÍ¿¡ ÇØ´çÇÑ´Ù°í º¼ ¼ö ÀÖ´Ù. ¿ìü±¹Àº ¿î¿µÃ¼Á¦¿Í ÀÎÅͳݼºñ½º¸Á¿¡ ºñÀ¯ÇÒ ¼ö ÀÖ°Ú ´Ù.
2. µ¥ÀÌÅͱ׷¥°ú ½ºÆ®¸² ¼ÒÄÏÀº µÎ°¡ÁöÀÇ ´ëÇ¥ÀûÀÎ ÇüŸ¦ °®´Âµ¥, ¹Ù·Î µ¥ÀÌÅͱ׷¥°ú ½ºÆ®¸²ÀÌ´Ù. À̰ÍÀº ¼Ò Äϰ´Ã¼°¡ óÀ½ »ý¼ºµÉ¶§ ÁöÁ¤µÇ´Â °ÍÀ¸·Î, Çѹø ÁöÁ¤µÇ¸é ±× °´Ã¼°¡ ¼Ò¸êÇÒ ¶§±îÁö ¹Ù ²Ü ¼ö ¾ø´Ù.
µ¥ÀÌÅͱ׷¥ ¼ÒÄÏÀº UDP µ¥ÀÌÅͱ׷¥À» »ç¿ëÇØ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. ÀÌ µ¥ÀÌÅÍ Àü¼Û¹æ½Ä Àº Àڱ⠵ý¿¡´Â ÃÖ¼±À» ´ÙÇØ¼ µ¥ÀÌÅÍÀÇ Á¤È®¼ºÀ» º¸ÀåÇÒ·Á°í ÇÏÁö¸¸, ¸ðµç °æ¿ì¿¡ ´ë ÇØ¼ º¸ÀåÇÏÁö ¸øÇÑ´Ù. µ¥ÀÌÅͱ׷¥Àº Àü¼ÛÇÏ´Â µ¥ÀÌÅͰ¡ ºÐ½ÇµÉ ¼öµµ ÀÖÀ¸¸ç(Áï, ¹ß»ý ÇÑ µ¥ÀÌÅÍ ºÐ½Ç¿¡ ´ëÇØ °æ°í¸¦ ÇØÁÖÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù), µ¥ÀÌÅÍÀÇ ¼ø¼°¡ µÚ¹Ù²ð ¼ö µµ ÀÖ´Ù. ¶ÇÇÑ, µ¥ÀÌÅÍÀÇ Àü¼ÛÀ» À§ÇØ µÎ Å͹̳ÎÀÌ ¿¬°áµÇ¾î ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. µ¥ÀÌ ÅÍ Àü¼Û¸í·ÉÀÌ ÁÖ¾îÁö¸é ¹«Á¶°Ç º¸³»°íÀÚ ÇÏ´Â ÄÄÇ»ÅÍÀÇ IPÁÖ¼Ò¸¦ ÇâÇØ µ¥ÀÌÅ͸¦ ³¯¸® ´Â °ÍÀÌ´Ù. ±×¸®°í ³ª¼´Â º¸³½ µ¥ÀÌÅÍ¿¡ ´ëÇØ ´õÀÌ»ó ½Å°æ¾²Áö ¾Ê´Â´Ù. Çä... ÀÌ ±ÛÀ» Àо´Ï µ¥ÀÌÅͱ׷¥ ¼ÒÄÏÀº ³×Æ®¿öÅ·ÀÇ ¾ÏÀûÀÎ Á¸ÀçÀÎ°Í Ã³·³ µé¸°´Ù. ±×·¯³ª µ¥ÀÌÅͱ׷¥ ¼ÒÄÏÀº Àü¼Û¼Óµµ¿¡¼ À̵æÀ» ¾ò´Â´Ù. µû¶ó¼ µ¥ÀÌÅÍÀÇ Àü¼Û°ú ¼ö½Å Ãø¿¡¼ Àû´çÈ÷ µ¥ÀÌÅÍÀÇ ¼ø¼¸¦ Á¤·ÄÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ±¸ÇöÇØ ÁÖ¸é, ÀÛÀº µ¥ÀÌÅÍ Èå ¸§À» »ç¿ëÇϰí, Àü¼Û¼Óµµ°¡ Á¦ÀÏ Å« À̽´°¡ µÇ´Â °æ¿ì¿¡´Â È¿°úÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ ´Ù.
½ºÆ®¸² ¼ÒÄÏÀº µ¥ÀÌÅÍ Àü¼ÛÀ» À§ÇØ TCP ¿¬°áÀ» »ç¿ëÇÑ´Ù. TCP´Â ±â·ÏµÈ µ¥ÀÌÅÍ¿¡ ¿¡·¯ °¡ ¾øµµ·Ï Çϰí, Àü¼Û ¼ø¼¿¡ ¸ÂÃß¾î Á¤È®È÷ Àü¼ÛµÇ´Â °ÍÀ» º¸ÀåÇÑ´Ù. ¸¸¾à µ¥ÀÌÅÍ ½º Æ®¸²ÀÇ ÀϺθ¦ ¿î¹ÝÇÏ´Â °³°³ÀÇ IPÆÐŶÀÌ ¿î¼ÛÁß¿¡ ÆÄ¼ÕµÇ°Å³ª ¼ø¼¿¡ ¾î±ß³ª°Å³ª ºÐ ½ÇµÇ¸é, TCP´Â ¹®Á¦°¡ ¹ß»ýÇÑ °ÍÀ» ÀνÄÇÏ°í µ¥ÀÌÅÍÀÇ ÀçÀü¼ÛÀ̳ª ÀçÁ¤·ÄÀ» ÅëÇØ ÀûÀý È÷ º¸»óÇØ ÁØ´Ù. Áï, µ¥ÀÌÅÍÀÇ Á¤È®ÇÑ Àü¼ÛÀ» º¸ÀåÇϱâ À§ÇØ ¼Óµµ¸¦ Èñ»ýÇÏ´Â °ÍÀÌ´Ù. ½ºÆ®¸² ¼ÒÄÏÀº ¿¬°áÁöÇâÀÇ ¼ÒÄÏÀ¸·Î, Àü¼ÛÃø°ú ¼ö½ÅÃøÀÌ ¿¬°áµÇ¾î ÀÖÁö ¾ÊÀ¸¸é µ¿ÀÛÇÏ Áö ¾Ê´Â´Ù. ¿ì¸®°¡ »ç¿ëÇÒ MFC ¼ÒÄÏŬ·¡½º´Â µÎ Çü½ÄÀÇ ¼ÒÄÏÀ» »ç¿ëÇÒ ¼ö ÀÖ°í, µðÆú Æ®·Î ½ºÆ®¸² ¼ÒÄÏÀ» »ý¼ºÇϵµ·Ï µÇ¾î ÀÖ´Ù.
3. ÁÖ¼Ò ¿ì¸®°¡ ÆíÁö¸¦ º¸³¾¶§ ¹Þ´Â »ç¶÷ÀÇ ÁÖ¼Ò¸¦ Á¤È®È÷ ±âÀçÇÏÁö ¾ÊÀ¸¸é, ¿ìü±¹¿¡¼´Â ÀÌ ÆíÁö¸¦ ³ª¿¡°Ô µÇµ¹·Á º¸³½´Ù. Áï, ¹è´ÞÀÌ ºÒ°¡´ÉÇÑ °ÍÀÌ´Ù. ¼ÒÄÏÀ» ÅëÇØ µ¥ÀÌÅ͸¦ ³¯¸±¶§¿¡µµ ¸¶Âù°¡Áö·Î, Åë½ÅÇϰíÀÚ ÇÏ´Â ÄÄÇ»ÅÍÀÇ À§Ä¡¸¦ ¸í½Ã ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ À§Ä¡´Â IP Address¶ó°í ÇÏ´Â ÁÖ¼Ò¸¦ ÅëÇØ¼ ÁöÁ¤Çϴµ¥, ÀÌ¿¡ ´ë ÇØ¼´Â Àß ¾Ë°í ÀÖÀ¸¸®¶ó ¹Ï´Â´Ù. À©µµ¿ìÁî ¼ÒÄÏ API¿¡¼´Â ¼ÒÄÏÀ» »ý¼ºÇϰí Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼ Á¢¼ÓÀ» ¿äûÇÒ ¶§¿¡ ¼ ¹öÀÇ IP ÁÖ¼Ò¸¦ ¸í½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¼¹öÃø¿¡¼ Á¢¼Ó¿äûÀ» ¹Þ¾ÆµéÀ̸é, ³»ºÎÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ® ÃøÀÇ IP¾îµå·¹½º°¡ ¼¹ö¿¡°Ô Àü´ÞµÈ´Ù.
4. Æ÷Æ® À§¿¡¼ ¼ÒÄÏÅë½ÅÀÇ °³³äÀ» ÆíÁö¸¦ º¸³»´Â °Í¿¡ ºñÀ¯Çߴµ¥, ¹Ù·Î ÀÌ Æ÷Æ®¸¦ ¼³¸íÇϱâ À§Çؼ ÀÌ´Ù. ¾î¶² »ç¶÷ÀÌ ÆíÁö¸¦ º¸³Â´Âµ¥, ±× ÆíÁö´Â ¾î¶² ºôµùÀÇ ¾î´À Ãþ¿¡ ÀÖ´Â ¾î´À »ç¹«½Ç·Î ¹è´ÞµÇ´Â °ÍÀ̶ó°í ÇÏÀÚ. ¿ìÆíºÎ´Â ºÀÅõ¿¡ ¾²¿©Áø ÁÖ¼Ò¸¦ º¸°í ¾î´À ºôµù ¾î´À Ãþ ¾î ´À »ç¹«½Ç ±îÁö´Â ±Ý¹æ ã¾Æ°¥ °ÍÀÌ´Ù. ±×·±µ¥ ±× ´ÙÀ½¿£ ¾î¶»°Ô ÇØ¾ß Çϴ°¡?? µî±â ¿ìÆíÀ̶ó¸é, ¹Þ´Â »ç¶÷¿¡°Ô Àü´ÞÇØ ÁÖ°í ±× »ç¶÷ÀÇ »çÀÎÀ» ¹Þ¾Æ¾ß¸¸ ÇÑ´Ù. ¹Ù·Î ¹Þ´Â »ç¶÷ÀÇ À̸§¿¡ ÇØ´çÇÏ´Â °ÍÀÌ Æ÷Æ®ÀÌ´Ù. ¿ì¸®°¡ ¼ÒÄÏÀ» ÅëÇØ µ¥ÀÌÅ͸¦ Àü¼ÛÇϸé, IP ÁÖ¼Ò¸¦ ÅëÇØ ÇØ´çµÇ´Â ÄÄÇ»Å͸¦ ã¾Æ°¥ °Í ÀÌ´Ù. ±×·±µ¥, ±× ÄÄÇ»ÅÍ¿¡´Â ¿©·¯°³ÀÇ ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁß ÀÏ ¼ö ÀÖ´Ù. ±× ÇÁ·Î±×·¥ µé Áß ¾î´À ÇÁ·Î±×·¥¿¡°Ô µ¥ÀÌÅ͸¦ Àü¼ÛÇØ ÁÖ¾î¾ß Çϴ°¡?? À̰ÍÀ» ÁöÁ¤ÇÏ´Â °ÍÀÌ Æ÷ Æ®ÀÌ´Ù. Àü¼ÛÃø°ú ¼ö½ÅÃøÀº °°Àº Æ÷Æ®¹øÈ£¸¦ °¡Á®¾ß ¼·Î Á¤È®È÷ ¿¬°áµÉ ¼ö ÀÖ°í, ¼·Î°£¿¡ ´ë Ȱ¡ °¡´ÉÇÑ °ÍÀÌ´Ù.
Çä...... ÇãÁ¢ÇÏÁö¸¸ ¾î·µç 1ÀåÀ» ¸¶ÃÆ´Ù. ½á³õ°í º¸´Ï »ó´çÈ÷ ÇãÁ¢ÇÏ´Ù.. ¹®Á¦´Â ÀÌ ÇãÁ¢ÇÑ ³»¿ëÀ» ¾È ÇãÁ¢Çϵµ·Ï ¹Ù²Ü¸¸ÇÑ ÀçÁÖ°¡ ³ª¿¡°Ô´Â ¾ø´Ù´Â µ¥¿¡ ÀÖ´Ù. ÀÌ ±Û¿¡´Â ³»°¡ ¾Ë°í ÀÖÁö ¸øÇÑ ¼ö¸¹Àº ¿À·ù°¡ Æ÷ÇԵǾî ÀÖÀ» Áöµµ ¸ð¸£°Ú´Ù... ¾î¶°Ç 1Àå¿¡¼´Â º°·Î ¹è¿ï°Ô ¾ø´Ù... ±×·¯·Á´Ï ÇÏ°í ´ÙÀ½ÀåÀ¸·Î ³Ñ¾î°¡ÀÚ...
------------------------------------------------------------------------------- ¼¾÷.. óÀ½ ½ÃÀÛ±Û°ú À̹ø 1ÀåÀ» ÀÐ¾î º¸½Å ºÐµéÁß¿¡¼´Â ´ÙºÐÈ÷ ½Ç¸ÁÇϽŠºÐµéÀÌ °è ½Ç°Å¶ó´Â »ý°¢ÀÌ µì´Ï´Ù. ¾ÆÁ÷µµ º»·Ð¿¡ µé¾î°¡Áö ¾Ê¾Ò±â ¶§¹®ÀÔ´Ï´Ù. Áö±Ý ´çÀå ÆÄÀÏÀ» Àü¼ÛÇÏ°í ½ÍÀº ºÐµéÀ» À§Çؼ °£´ÜÈ÷ ÆÄÀÏÀ» Àü¼ÛÇÏ´Â Äڵ带 ¾Æ·¡ ¿¡ Àû¾îº¾´Ï´Ù¸¸, °Á°¡ ÃʱÞÀÚ¸¦ ´ë»óÀ¸·Î Çϰí ÀÖ´Â °ü°è·Î °Á°¡ ¸ñÇ¥·Î ÇÏ´Â ¾Ö Çø®ÄÉÀ̼ÇÀÌ ¿Ï¼ºµÉ·Á¸é Á¶±Ý ´õ ±â´Ù¸®¼Å¾ß ÇÒ °Í °°½À´Ï´Ù.
/**************************************************/ // ¼¹öÃø¿¡¼ ÆÄÀÏÀ» Àü¼ÛÇÏ´Â ÄÚµåºÎºÐ //*************************************************/
// ¿ì¸®°¡ »ç¿ëÇÒ Æ÷Æ®¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ °ªÀº ¸¾´ë·Î »ç¿ëÇØµµ µÇÁö¸¸, ´ë°³ 1000 ÀÌ»ó ÀÇ Æ÷Æ® ¹øÈ£¸¦ »ç¿ëÇÏÀÚ. #define PORT 30000
// ¸ÇóÀ½ Á¢¼ÓÀ» ´ë±âÇÒ ¼ÒÄÏÀ» »ý¼ºÇÑ´Ù. AfxInitSocket(NULL);
CAsyncSocket listenSoc; listenSoc.Create(PORT);
// ±×¸®°í´Â Á¢¼Ó¿äûÀ» ±â´Ù¸®ÀÚ. listenSoc.Listen();
// Á¢¼Ó¿äûÀÌ ¿Ô´Ù¸é ¹Þ¾ÆµéÀÌÀÚ. CSocket acceptSoc; // ÀÌ ¼ÒÄÏÀº Create¸¦ È£ÃâÇÏ¸é ¾ÈµÈ´Ù. listenSoc.Accept(&acceptSoc);
// ÀÌÁ¦ºÎÅÍ Å¬¶óÀÌ¾ðÆ®¿Í ´ëÈÇÏ´Â °ÍÀº ¿ÂÀüÈ÷ acceptSocÀÇ ¼Ò°üÀÌ´Ù. // Àü¼ÛÇÒ ÆÄÀÏÀ» ¿ÀÚ CFile sourceFile; sourceFile.Open((LPCTSTR)strFileName, CFile::modeRead | CFile::typeBinary); // strFileNameÀº CString °´Ã¼·Î ÆÄÀÏÀÇ À̸§À» °¡Áö°í ÀÖ´Ù.
// ÆÄÀÏÀ» Àü¼ÛÇϱâ Àü¿¡ ÆÄÀÏÀ̸§À» Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë·ÁÁà¾ß ÇÑ´Ù. // ±×·¡¾ß Ŭ¶óÀÌ¾ðÆ®´Â Àü¼Û¹ÞÀº ÆÄÀÏÀ» À̸§À» ¹Ù²ÙÁö ¾Ê°í Á¤È®È÷ ¾µ °ÍÀÌ´Ù. int nNameLen = strFileName.GetLength(); // ÆÄÀÏÀ̸§ÀÇ ±æÀ̸¦ ÀúÀåÇÑ´Ù.
acceptSoc.Send(&nNameLen, 4); // ÆÄÀÏ À̸§ÀÇ ±æÀ̸¦ Àü´ÞÇÑ´Ù. acceptSoc.Send((LPCTSTR)strFileName, nNameLen); // ÆÄÀÏ À̸§À» Àü´ÞÇÑ´Ù. // µ¥ÀÌÅ͸¦ À§ÇÑ Àӽà ¹öÆÛÀ» ÀâÀÚ. byte * data = new byte[4096]; DWORD dwRead; // ÆÄÀÏÀ» ÀÐ°í ¼ÒÄÏÀ¸·Î Àü¼ÛÇÏÀÚ. do { dwRead = sourceFile.Read(data, 4096); acceptSoc.Send(data, dwRead); } while(dwRead > 0); /* À§ÀÇ ÄÚµå´Â ÆÄÀÏÀÇ ±æÀ̸¦ 4k ¹ÙÀÌÆ®¾¿ Àß¶ó¼ Àü¼ÛÇÕ´Ï´Ù. ¼ÒÄÏÀÇ µðÆúÆ® ¹öÆÛÅ© ±â´Â 8kÀÌÁö¸¸, ÆÄÀÏÀÇ Àüü¸¦ Çѹø¿¡ ÀÐ¾î¼ Àü¼ÛÇϸé, 8k°¡ ÃʰúµÇ´Â ¿ë·®¿¡ ´ëÇØ¼ ´Â µ¥ÀÌÅͰ¡ ¼Õ»óµÇÁö ¾ÊÀ¸¸®¶ó º¸ÀåÇÒ ¼ö ¾ø½À´Ï´Ù. CFile°´Ã¼ÀÇ ReadÇÔ¼ö´Â Àμö·Î ÁöÁ¤µÈ ¹ÙÀÌÆ® ¼ö¸¸Å ÀÐÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÃÖ´ë·Î ÀоîµéÀÌ´Â ¾çÀº Àμö ·Î Àü´ÞµÈ ¹ÙÀÌÆ®¼ö¸¦ ÃʰúÇÏÁö´Â ¾Ê½À´Ï´Ù. µû¶ó¼ ÀоîµéÀÎ ¾çÀÌ ¾î´ÀÁ¤µµÀÎÁö dwRead¿¡ ÀúÀåÇÏ°í ±× Å©±â¸¦ ¼ÒÄÏÀÇ SendÇÔ¼ö¿¡ Àü´ÞÇØ ÁÖ¾î¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù. ¼ÒÄÏ ÀÇ SendÇÔ¼ö ¿ª½Ã, ÁöÁ¤µÈ »çÀÌÁ ÀüºÎ Çѹø¿¡ Àü¼ÛÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. Àü¼Û ´ç½ÃÀÇ TCP¸ÁÀÌ ¼Óµµ°¡ Àú¼ÓÀ̸é Àμö·Î ÁöÁ¤µÈ ¾çº¸´Ù ÀÛÀº ¾çÀ» Àü¼ÛÇÏ°Ô µÇÁö¸¸, ±×°ÍÀº TCP°¡ ¾Ë¾Æ¼ Ãß°¡ Àü¼ÛÀ» ÇÒ °ÍÀ̹ǷΠÀ§ ÄÚµåÀÇ ·çÇÁ¿¡¼´Â ½Å°æ½áÁÖÁö ¾Ê¾Æ µµ µË´Ï´Ù. */
// ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÏ°í ÆÄÀÏÇÚµéÀ» ´Ý´Â´Ù delete data; sourceFile.Close();
/***************************************/ // Ŭ¶óÀÌ¾ðÆ®¿¡¼ ÆÄÀÏÀ» ¹Þ´Â ºÎºÐ /***************************************/
// Æ÷Æ®¸¦ Á¤ÀÇÇϴµ¥, ¼¹öÃø°ú °°Àº Æ÷Æ®À̾î¾ß ÇÑ´Ù. #define PORT 30000
// ¼ÒÄÏÀ» ÃʱâÈ ÇÑ´Ù. AfxInitSocket(NULL);
// ¼ÒÄÏÀ» ¸¸µéÀÚ CSocket connectSoc; connectSoc.Create(); // ¿©±â¼´Â Àμö¸¦ Àü´ÞÇÏÁö ¾Ê´Â´Ù
// Á¢¼ÓÀ» ¿äûÇÏÀÚ connectSoc.Connect("210.120.150.111", PORT); /* ConnectÇÔ¼öÀÇ Ã¹¹øÂ° ÀÎÀÚ´Â ¼¹öÃø ÄÄÇ»ÅÍÀÇ IPÁÖ¼ÒÀÌ´Ù. À̰ÍÀº (.)À» Âï´Â ¹æ ½ÄÀ¸·Î ½áµµ µÇ°í, µµ¸ÞÀγ×ÀÓÀ¸·Î ½áµµ µÈ´Ù.*/ if(connectSoc.GetLastError() == 0) // Á¢¼Ó¿¡ ½ÇÆÐÇÏ¿´´Ù¸é.. { MessageBox("Á¢¼Ó¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù"); // ±âŸ Á¢¼Ó½ÇÆÐ ó¸® connectSoc.Close(); return; }
// Á¢¼Ó¿¡ ¼º°øÇß´Ù¸é µ¥ÀÌÅ͸¦ ¹Þ¾Æ µéÀÌÀÚ char *strFileName; int nNameLen;
connectSoc.Receive(&nNameLen, 4); connectSoc.Receive(strFileName, nNameLen);
CFile targetFile; targetFile.Open(strFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
byte *data = new byte[4096]; DWORD dwRead;
do { dwRead = connectSoc.Receive(data, 4096); targetFile.Write(data, dwRead); } while(dwRead > 0);
delete data; targetFile.Close();
À§ÀÇ ÄÚµå´Â °¡Àå ÇÙ½ÉÀûÀÎ ±â´É¸¸ ±¸ÇöµÇ¾î ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î´Â ÀÌ Äڵ带 ¾ÖÇø®ÄÉ À̼ǿ¡ ºÙÀÌ°í ½ÇÇàÇϸé CPUŸÀÓÀ» µ¶Â÷Áö ÇÏ°Ô µÇ¾î ÆÄÀÏ Àü¼ÛÀÌ ¿Ï·áµÇ±â ±îÁö »ç¿ë ÀÚ¿¡°Ô ÀÀ´äÇÏÁö ¾Ê½À´Ï´Ù. ¿ë·®ÀÌ Å« ÆÄÀÏÀ» Àü¼ÛÇÒ °æ¿ì¿¡´Â Àü¼Û½Ã°£ÀÌ °É¸± °ÍÀÌ ¹Ç·Î, »ç¿ëÀÚ´Â ´Ù¿îµÈ ÁÙ ¾Ë°í ÇÁ·Î±×·¥À» Á×ÀÏ ¼öµµ Àֱ⠶§¹®¿¡ °ñÄ©°Å¸®°¡ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù. ¶Ç, Àü¼Û¹Þ´Â ºÎºÐ¿¡¼ »óȲ¿¡ µû¶ó ¹«ÇÑ·çÇÁ¿¡ ºüÁö´Â °æ¿ìµµ Àִµ¥, Àü¼Û¹ÞÀº ÃÑ·®°ú Àü¼Û¹Þ¾Æ¾ß ÇÒ ·®À» ºñ±³Çؼ ·çÇÁ¸¦ Å»ÃâÇÏ´Â Äڵ尡 Ãß°¡ µÇ¾î¾ß ¸¸ ¿ÏÀüÇØ Áý´Ï´Ù¸¸... À̵鿡 ´ëÇØ¼´Â °Á¿¡¼ ¾ÕÀ¸·Î À̾߱âÇÒ °èȹÀÔ´Ï´Ù. |
|
|
|
|
|
|
|
- À¸¾Æ~~~~ Áõ¸» Á×´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù...
¾î¾Áö... ÀÚ²Ù ¿¡·¯°¡ ³´Ù°í Çߴµ¥... ¸î½Ã°£µ¿¾È ºÙÀâ°í '¿Ö ¾ÈµÇ´Â°Å¾ß...' ÇÑźÇÏ¸é¼ ¸Ó¸®´Â Á¡Â÷ µÐÇØÁö°í... °¨Á¤ÀÌ À̼ºÀ» ¾Õ¼¼ ¹«Á¶°Ç Űº¸µå¸¸ µÎµå¸®´Ùº¸´Ï ¾ÆÁÖ ±âÃÊÀûÀÎ ºÎºÐ±îÁö °£°úÇϰí ÀÖ¾ú±º¿ä... ¸Þ¸ð¸® ÇÒ´çºÎºÐ....

- ÁÁÀº °ÀÇ °¨»çµå¸³´Ï´Ù.

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