|
|
|
|
|
| Network Programming for Microsoft Windows 2nd Edition
|
 |
|
|
| ¤ýÀú ÀÚ |
Anthony Jones
, Jim Ohlund
|
| ¤ý¿ª ÀÚ |
±è³²½Ä
|
| ¤ý±¸ ºÐ |
¹ø¿ª¼
|
| ¤ý¹ßÇàÀÏ |
2003³â 01¿ù 06ÀÏ |
| ¤ýÁ¤ °¡ |
25,000¿ø |
| ¤ýÆäÀÌÁö |
649 ÆäÀÌÁö |
| ¤ýISBN |
89-5674-041-0 |
| ¤ý³À̵µ |
Áß±Þ.»ó±Þ |
| ¤ýÃâÆÇ»ç |
Á¤º¸¹®È»ç |
|
|
|
|
|
|
|
 |
 |
À©¼Ó API¿Í .NET SocketÀ» ÀÌ¿ëÇÏ¿© Windows XP¿Í ±âÁ¸ Windows Ç÷§Æû¿¡¼ µ¿ÀÛÇÏ´Â ³×Æ®¿÷ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇÑ ±ÇÀ§ ÀÖ´Â °¡À̵å!
ÀÌÀü ¹öÀüÀÇ Windows Ç÷§Æû¿¡¼ ³×Æ®¿÷ ÀÀ¿ëÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ´Â »ó´ëÀûÀ¸·Î ½±´Ù. ÇÏÁö¸¸ Windows XPÀÇ ³×Æ®¿÷ ±â´ÉÀº ¾ÆÁ÷ ¹®¼·Î Àß Á¤¸®µÇ¾î ÀÖÁö ¾Ê´Ù. À̹ø °³Á¤ÆÇ¿¡¼´Â Windows XPÀÇ ³×Æ®¿÷ ±â´É°ú Visual C#À» ÀÌ¿ëÇÏ¿© ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â ¹æ¹ýÀÌ Ãß°¡µÇ¾ú´Ù. ¶ÇÇÑ ÃֽŠÇÁ·ÎÅäÄÝÀÎ IPv6¿Í ½Å·Ú¼º ÀÖ´Â ¸ÖƼij½ºÆ®¿¡ ´ëÇØ¼µµ ´Ù·ç°í ÀÖ´Ù. ÀÌ·± ÁÖÁ¦´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ³×Æ®¿÷ API¿¡ ´ëÇØ¼ Á¤È®ÇÏ°í ½Ç¿ëÀûÀÎ Á¤º¸¸¦ ¿øÇÏ´Â Å×Å©´Ï¼Ç°ú ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ³×Æ®¿÷ÀÌ µ¿À۵Ǵ ¿ø¸®¸¦ ¾Ë°íÀÚ ÇÏ´Â ³×Æ®¿÷ °ü¸®ÀÚ¿¡°Ô À¯¿ëÇÑ Á¤º¸°¡ µÉ °ÍÀÌ´Ù. ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ³×Æ®¿÷¿¡ °ü·ÃµÈ ÀÛ¾÷À» Çϰí ÀÖ´Ù¸é ÀÌ Ã¥Àº ¹Ù·Î ´ç½ÅÀ» À§ÇÑ °ÍÀÌ´Ù.
ÀÌ Ã¥¿¡ Æ÷ÇÔµÈ ³»¿ë À©¼Ó¿¡ ´ëÇÑ ¼Ò°³ À©¼ÓÀÇ µðÀÚÀÎ IPv4¿Í IPv6 ATM, IPX/SPX, IrDA, NetBIOS, AppleTalk I/O ¸ðµ¨ °í¼º´É ³×Æ®¿÷ ÇÁ·Î±×·¥ ¼ÒÄÏ ¿É¼Ç, ioctl Raw Socket SPI Visual Basic À©¼Ó ÄÜÆ®·Ñ .NET Socket RAS Ŭ¶óÀÌ¾ðÆ® NetBIOS Windows Redirector ¸ÞÀϽ½·Ô ³×ÀÓµå ÆÄÀÌÇÁ IP Helper API |
| |
 |
 |
ÀúÀÚ¿¡ °üÇØ Anthony Jones´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ Windows Networking groupÀÇ ÇÙ½É µðÀÚÀÎ ¿£Áö´Ï¾îÀÌ´Ù. Jim Ohlund´Â Microsoft's Internet Security and Acceleration (ISA) Server Å×½ºÆ® ÆÀÀÇ ¿£Áö´Ï¾îÀÌ´Ù. À̵éÀº À©µµ¿ì ³×Æ®¿÷¿¡ °ü·ÃµÈ ÁÖÁ¦·Î ¸î ³â µ¿¾È ÇÔ²² ÀÏÇß´Ù. Jones´Â MSDN Magazine¿¡ ´ë¿ë·® À©¼Ó ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ¹æ¹ýÀ» ±â°íÇϱ⵵ Çß´Ù.
"À©¼Ó ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇÏ´Â °ÍÀº Ç×»ó ºñ¹Ð½º·´°í ¹è¿ì±â ¾î·Á¿î ÀÏ·Î ¿©°ÜÁ® ¿Ô´Ù" ÀÌ Ã¥ÀÇ 6Àå¿¡¼ À©¼Ó ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ¼ ¼Ò°³ÇÑ Ã¹ ¹®ÀåÀÌ´Ù. ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀº Ãʺ¸ÀÚºÎÅÍ Áß±Þ ÀÌ»óÀÇ °³¹ßÀÚ±îÁö °øÅëÀûÀ¸·Î ¾î·Á¿öÇÏ´Â ºÎºÐÀÌ´Ù. ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» "½±´Ù"¶ó°í ¸»ÇÏ´Â °³¹ßÀÚ°¡ ÀÖ´Ù¸é ±×´Â ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» ¸¹ÀÌ ÇØº¸Áö ¾ÊÀº °³¹ßÀÚÀ̰ųª ¾ÆÁÖ ¶Ù¾î³ °³¹ßÀÚÀÏ °ÍÀ̶ó »ý°¢ÇÑ´Ù. ¿ªÀÚÀÇ °æ¿ìµµ Ãʺ¸ÀÚÀÏ ¶§´Â ¸·¿¬ÇÔ ¶§¹®¿¡ ¾î·Á¿òÀ» °Þ¾ú°í ¾î´À Á¤µµ °æÇèÀÌ ½×¿´À» ¶§´Â ½ÀµæÇØ¾ß ÇÏ´Â ±â¹Ý Áö½ÄÀÇ ¾ç ¶§¹®¿¡ ¾î·Á¿òÀ» °Ý¾î¾ß¸¸ Çß´Ù. Áß±ÞÀÚ ÀÌ»óÀÌ ½ÀµæÇØ¾ß ÇÏ´Â ±â¹Ý Áö½ÄÀ̶õ ±âº»ÀûÀÎ ¼ÒÄÏ API »ç¿ë¹ý°ú ±â¹Ý ÇÁ·ÎÅäÄÝÀÇ Æ¯¼º ¿Ü¿¡µµ Ç÷§Æûº° ÇÔ¼ö µ¿ÀÛÀÇ Æ¯¼º, ¼º´É Æ©´× ±×¸®°í ¾²·¹µå¿Í µ¿±âÈ ¹æ¹ý µî ´Ù¾çÇÏ´Ù. ÀÌ Ã¥Àº ÀÌ·¯ÇÑ »çÇ׿¡ ´ëÇØ¼ ¸ðµÎ´Ù ÀÍÈú ¼ö ÀÖµµ·Ï ¾²¿©Áø Ã¥Àº ¾Æ´Ï´Ù. ¿ÀÈ÷·Á À©µµ¿ìÁî Ç÷§Æû¿¡ ÇÑÁ¤µÈ ³×Æ®¿÷ ÇÁ·Î±×·¡¹Ö Âü°í¼¶ó°í ÇÒ ¼ö ÀÖ´Ù. Richard StevensÀÇ Ã¥À¸·Î ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» °øºÎÇÑ °³¹ßÀÚ¶ó¸é À©µµ¿ìÁî Ç÷§Æû¿¡¼ÀÇ ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀÇ Æ¯¼º¿¡ ´ëÇØ¼ ±Ã±ÝÇÒ °ÍÀÌ´Ù. ÀÌ Ã¥Àº ¼ÒÄÏÀÇ ÀϹÝÀûÀΠƯ¼ºº¸´Ù´Â À©µµ¿ìÁî Ç÷§Æû¿¡ °ü·ÃµÈ Ư¼º¿¡ ´ëÇØ¼ ÃÊÁ¡À» ¸ÂÃß°í ÀÖ´Ù. ±×·¡¼ ¼ÒÄÏÀ̶ó´Â ¸íĪº¸´Ù´Â À©¼ÓÀ̶ó´Â ¸íĪÀÌ Ã¥ Àü¹Ý¿¡ °ÉÃļ »ç¿ëµÇ°í ÀÖ´Ù. ÀÌ Ã¥ÀÇ °Á¡ÀÌ ¹Ù·Î À̰ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÀÌ Ã¥À» ÅëÇÏ¿© MSDN¿¡µµ °ø°³µÇÁö ¾ÊÀº À©¼ÓÀÇ ´Ù¾çÇÑ ¿É¼Ç°ú ±â´ÉÀ» °æÇèÇÏ±æ ¹Ù¶õ´Ù. À¯´Ð½º Ç÷§ÆûÀ» ´É°¡ÇÏ°í ½Í¾ú´ø ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ³×Æ®¿÷ °³¹ßÆÀÀÇ ³ë·ÂÀ» ÀÐÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Ã¥À» Àбâ Àü¿¡ ÀÌ Ã¥ÀÇ ³»¿ë¿¡ ´ëÇØ¼ °£·«ÇÏ°Ô ¼³¸íÇϰÚÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù. ¸ÕÀú 1Àå°ú 2ÀåÀº ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀÇ ÀÔ¹®ÀÚ°¡ ¾Ë¾Æ¾ß ÇÒ À©¼Ó°ú ±âº»ÀûÀÎ API¿¡ ´ëÇØ ¼Ò°³Çϰí ÀÖ´Ù. À©¼Ó¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ºÎÁ·ÇÏ´Ù°í ´À³¢´Â µ¶ÀÚµéÀº ÀÌ µÎ ÀåÀ» Àб⠹ٶõ´Ù. ÀÌ Ã¥ÀÌ Ãʺ¸ÀÚ¸¦ À§ÇÑ Ã¥Àº ¾Æ´Ï¹Ç·Î ±âÃÊÀûÀÎ ³»¿ë¿¡ ºñÁßÀ» µÎ°í ÀÖÁö´Â ¾Ê´Ù. ÇÏÁö¸¸ À©µµ¿ìÁî Ç÷§Æû¿¡¼ÀÇ ¼ÒÄÏ¿¡ ´ëÇØ¼ »ý¼ÒÇÏ´Ù¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
3Àå°ú 4ÀåÀº À©¼ÓÀ¸·Î ´Ù·ê ¼ö ÀÖ´Â ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ¼ ¼³¸íÇϰí ÀÖ´Ù. 3ÀåÀº IP¿¡ ´ëÇØ¼ ¼³¸íÇϰí ÀÖ°í 4ÀåÀº IP ÀÌ¿ÜÀÇ ´Ù¸¥ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ¼ ¼³¸íÇϰí ÀÖ´Ù. IPv6, IrDA, IPX/SPX, NetBIOS, AppleTalk, ATM µîÀÇ ÇÁ·ÎÅäÄÝÀ» ±â¹ÝÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÇØ¾ß ÇÑ´Ù¸é Âü°íÇÏ¸é µÇ°Ú´Ù.
5ÀåÀº °³¹ßÀÚ°¡ ¾Ë¾Æ¾ß ÇÒ ´Ù¾çÇÑ ¼ÒÄÏ I/O ¸ðµ¨À» ´Ù·ç°í ÀÖ´Ù. ¶ÇÇÑ À©µµ¿ìÁî ¹öÀüº°·Î »ç¿ë °¡´ÉÇÑ ¸ðµ¨µéÀ» ºÐ·ùÇϰí ÀÖ´Ù. ¾Æ¸¶µµ °³¹ßÀÚµéÀÌ ÀÌ Ã¥¿¡¼ °¡Àå ÀÚÁÖ ÆîÃĺ¸°Ô µÉ ³»¿ëÀÌ ¾Æ´Ò±î ÇÑ´Ù. 6ÀåÀº ÀÌ Ã¥ Àüü¿¡ ÀÖ¾î¼ ³»¿ëÀûÀ¸·Î °¡Àå ºû³ª´Â ÁÖÁ¦¸¦ ´Ù·ç°í ÀÖ´Ù. 6ÀåÀº 5Àå¿¡¼ ¼³¸íÇÑ ´Ù¾çÇÑ I/O ¹æ¹ý¿¡ ´ëÇÑ ½ÇÁ¦ÀûÀÎ Å×½ºÆ® °á°ú¿Í °·ÂÇÑ ¼¹ö¸¦ Á¦ÀÛÇϱâ À§ÇÑ Àü·«À» ´ã°í ÀÖ´Ù. ƯÈ÷, Ã¥¿¡¼ º¸¿©ÁØ Å×½ºÆ®´Â ³×Æ®¿÷ ÇÁ·Î±×·¡¸Ó¶ó¸é ¹Ýµå½Ã ÇØ¾ß ÇÏ´Â ¼º´É Å×½ºÆ®¸¦ ´ë½Å ÇØÁØ °ÍÀÌ°í ±× °á°ú¸¦ °ø°³ÇÏ¿´´Ù´Â ¸é¿¡¼ ¾ÆÁÖ À¯¿ëÇÑ °ÍÀ̶ó »ý°¢ÇÑ´Ù.
7ÀåÀº ¼ÒÄÏ ¿É¼ÇµéÀ» ´Ù·ç°í Àִµ¥ MSDN¿¡¼´Â °ø°³µÇÁö ¾ÊÀº ¿É¼Çµé°ú »õ·Î ¼Ò°³µÈ Windows XP¿¡ ´ëÇÑ ¿É¼Çµéµµ ¼³¸íÇϰí ÀÖ´Ù. 8ÀåÀº µµ¸ÞÀΠȤÀº ¼ºñ½º À̸§À» ÇØ¼®ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù. 9ÀåÀº ¸ÖƼij½ºÆÃÀ» ¼³¸íÇϰí Àִµ¥ ´Ü¼øÇÑ Å¬·¡½º D¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ¾Æ´Ñ À©µµ¿ìÁî Ç÷§Æû¿¡¼ Á¦°øÇÏ´Â ÇÔ¼öµéÀ» ÅëÇÏ¿© ¼¼·ÃµÈ ±â´ÉÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù. ¶ÇÇÑ RMP(Reliable Multicast Protocol)¶ó´Â ½Å·Ú¼º ÀÖ´Â ¸ÖƼij½ºÆ® ÇÁ·ÎÅäÄÝÀ» ¼Ò°³Çϰí Àִµ¥ ±âÁ¸ ¸ÖƼij½ºÆÃÀÇ ´ÜÁ¡ ÁßÀÇ ÇϳªÀÎ ½Å·Ú¼º ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. 10ÀåÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ QOSÀÎ GQOS¿¡ ´ëÇØ¼ ¼³¸íÇϰí ÀÖ´Ù. 11ÀåÀº raw socketÀÇ Á¦ÀÛ ¹æ¹ýÀ» ÅëÇÏ¿© Á÷Á¢ ÆÐŶÀ» Á¶ÇÕÇÏ¿© Àü¼ÛÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù.
12ÀåÀº SPI¸¦ ¼³¸íÇϰí Àִµ¥ SPI´Â ÀÎÅÍ³Ý ¹ðÅ·¿¡¼ »ç¿ëµÇ´Â º¸¾È ÇÁ·Î±×·¥À̳ª ¹é½Å¿¡¼ ÀÎÅÍ³Ý °¨½Ã ±â´ÉÀ» ±¸ÇöÇÒ ¶§ »ç¿ëµÇ´Â ±â¼úÀÌ´Ù. ¾ÆÁ÷±îÁö ÀÌ Ã¥¸¸Å ±× ¿ø¸®¿Í Á¦ÀÛ ¹æ¹ý±îÁö ÀÚ¼¼ÇÏ°Ô ¼³¸íµÈ ¹®¼´Â ¾ø¾ú´Ù. 13ÀåÀº .NET¿¡¼ÀÇ ¼ÒÄÏÀ» ¼³¸íÇϰí ÀÖ´Ù. 14ÀåÀº ºñÁÖ¾ó º£ÀÌÁ÷¿¡¼ »ç¿ëµÇ´Â À©¼Ó ÄÁÆ®·ÑÀ» ¿¹Á¦¸¦ ÅëÇÏ¿© ¼³¸íÇϰí ÀÖ´Ù. À©¼Ó ÄÁÆ®·ÑÀÇ ¹ö±×¿Í ÁÖÀÇ »çÇ×±îÁö ÀÚ¼¼ÇÏ°Ô ¼³¸íµÇ¾î ÀÖÀ¸´Ï ºñÁÖ¾ó º£ÀÌÁ÷ °³¹ßÀÚ¿¡°Ô ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù. 15ÀåÀº RAS¿¡ ´ëÇØ¼ ¼³¸íÇϰí Àִµ¥ ÀüÈÁ¢¼Ó ³×Æ®¿öÅ· ±â´ÉÀ» ±¸ÇöÇØ¾ß ÇÏ´Â °³¹ßÀÚ¿¡°Ô Âü°í°¡ µÉ °ÍÀÌ´Ù. 16ÀåÀº IPCONFIG.EXE, PING.EXE, TRACERT.EXE µîÀÇ À¯Æ¿¸®Æ¼µéÀ» Á÷Á¢ Á¦ÀÛÇØº¸´Â ³»¿ëÀ» ´ã°í ÀÖ´Ù. ³×Æ®¿÷ ÇÁ·Î±×·¡¸Ó¿¡°Ô ³²°ÜÁú ¸¶Áö¸· ÀÓ¹«ÀÎ ³×Æ®¿÷ ¼º´É ÃøÁ¤¿¡ ÇÊ¿äÇÑ ±â´ÉÀ» ÀÌ Ã¥ÀÇ ¸¶Áö¸· ÀåÀ» ÅëÇÏ¿© ¹è¿ï ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥ÀÇ ³»¿ë Áß ¹é¹Ì´Â À©¼ÓÀÇ ¼º´É¿¡ ´ëÇØ¼ ´Ù·é 6ÀåÀÌ ¾Æ´Ò±î ÇÑ´Ù. ¿ªÀÚ´Â ÀÌ Ã¥ÀÇ 6ÀåÀ» »ùÇ÷Π¹Þ°í ¹ø¿ªÀ» ½ÃÀÛÇÏ°Ô µÇ¾ú´Ù. ¶ÇÇÑ SPI¿¡ ´ëÇØ¼ ´Ù·é 12Àåµµ ¿äÁò °ü½ÉÀÌ ³ô¾ÆÁö°í ÀÖ´Â ÀÎÅÍ³Ý º¸¾È°ú °ü·ÃÇÏ¿© ½Ã±âÀûÀýÇÏ°Ô º¸°µÈ ³»¿ëÀ̶ó ÇÒ ¼ö ÀÖ´Ù.
¿ªÀÚÀÇ °æ¿ì´Â ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» óÀ½ °øºÎÇϱ⠽ÃÀÛÇßÀ» ¶§ ¹ø¿ª¼¸¦ »ç¼ º¸¾Ò´Ù. ÇÏÁö¸¸ ³Ê¹« ¼±±¸ÀÚÀû(?)ÀÎ ¹ø¿ª ³»¿ë¿¡ ½Ç¸ÁÇÏ¿´°í ±× ÀÌÈÄ¿¡´Â ³×Æ®¿÷ ÇÁ·Î±×·¡¹Ö°ú °ü·ÃµÈ ¹ø¿ª¼¸¦ ÀÐÀ» ±âȸ°¡ ¸¹Áö ¾Ê¾Ò´ø °Í °°´Ù. ºñÆòÇÏ´Â µ¶ÀÚÀÇ ÇÑ »ç¶÷¿¡¼ ºñÆò ´çÇÒ ¿ªÀÚ·Î ÀÔÀåÀÌ ¹Ù²î°Ô µÇ¾úÁö¸¸ ¿©ÀüÈ÷ ¹ø¿ª¼ ƯÀ¯ÀÇ ¿ë¾î ÇØ¼®¿¡´Â Àͼ÷ÇÏÁö°¡ ¾Ê´Ù. µû¶ó¼ ÀÌ Ã¥¿¡¼´Â µÇµµ·Ï °³¹ßÀÚµéÀÌ »ç¿ëÇÏ´Â ¿ë¾î¸¦ »ç¿ëÇÏ¿´°í ÇѱÛȵǾî Åë¿ëµÇÁö ¾Ê´Â´Ù°í ÆÇ´ÜµÇ´Â °æ¿ì´Â ¿ø¾î¸¦ ±×´ë·Î µÎ¾ú´Ù. ¶ÇÇÑ ¸ðµç ¿ë¾î ÇØ¼®¿¡´Â ¿ø¹®À» °ýÈ£·Î ³²°Ü µÎ¾úÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù.
Áß°£ Áß°£ ¿ªÀÚÁÖ·Î Âü°íÇÒ ¸¸ÇÑ Á¤º¸¸¦ »ðÀÔÇÏ¿´´Ù. ¸¹Àº ³»¿ëµéÀÌ ¿ªÀÚ°¡ ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ¸é¼ Àû¾î ³õ¾Ò´ø ¸Þ¸ð¸¦ ±âÃÊ·Î ÀÛ¼ºµÇ¾ú´Ù. ¿ªÀÚÀÇ °æÇèÀ» ¹ÙÅÁÀ¸·Î ¾²¿©Áø ³»¿ëÀÌ´Ï ½ÇÁ¦ À̷аú´Â Â÷À̰¡ ÀÖÀ» ¼ö ÀÖ´Ù.
ÀÌ Ã¥À¸·Î ³×Æ®¿÷ ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇÏ´Â µ¶ÀÚ¿¡°Ô ±ÇÇÏ´Â °ÍÀº ÀÌ Ã¥°ú ÇÔ²² Richard StevensÀÇ Ã¥µéÀ» Âü°íÇ϶ó´Â °ÍÀÌ´Ù. ¹°·Ð ±×ÀÇ Ã¥µé¸¸À¸·Î´Â ¿äÁòÀÇ Çö½ÇÀ» ´ëóÇϱ⠺ÎÁ·ÇÒ °ÍÀÌ´Ù. ±×·¡¼ ÀÌ Ã¥ÀÌ ÀÖ´Â °ÍÀÌ´Ù. |
| |
 |
 |
º»¹®¿¡¼ »ç¿ëµÈ ¼Ò½º ÄÚµå
|
| |
 |
 |
| |
|
|
 |
1.
<Á¤¿ÀÇ¥>
Network Programming for Microsoft Windows 2nd Edition Á¤¿ÀÇ¥
÷ºÎÆÄÀÏ : NetworkProgÁ¤¿ÀÇ¥.hwp 31KB
|
2.
¹ø¿ª¼ 33ÆäÀÌÁö ¹Ø¿¡¼ 11¹øÂ° ÁÙ
NewConnection = accept(ListeningSocket, (SOCKADDR *) &ClientAddr,&ClientAddrLen));
¿¡¼, ¸¶Áö¸· ´Ý´Â °ýÈ£ Çϳª°¡ Á¦¿ÜµÇ¾î¾ß Çϸç,
ÀÌ accept ÇÔ¼ö È£Ãâ Àü¿¡
ClientAddrLen = sizeof( ClientAddr ) ;
°¡ Ãß°¡µÇ¾î¾ß ÇÕ´Ï´Ù.
¿ªÀÚ ÁÖ - À̹ø Ã¥¿¡¼´Â Àü¹ÝÀûÀ¸·Î Ã¥ÀÇ ¼Ò½º Äڵ忡 °áÇÔÀÌ ¸¹ÀÌ ¹ß°ßµÇ°í ÀÖ½À´Ï´Ù.
ÀÌ Ã¥À» ÀÐÀ¸½Ã´Â ¸¹Àº ºÐµéÀÌ Ã¥ÀÇ ¾ÕÂÊ Ã©ÅÍ¿¡ ÀÖ´Â ¼Ò½º Äڵ带 ±×´ë·Î ¿Å°Ü¼ ÄÚµùÇÏ´Ù°¡ ÀÌ·± ½ÄÀÇ ¹®Á¦¸¦ ¸¹ÀÌ °Ý°Ô µË´Ï´Ù. ½Ç½ÀÀ» ÇÒ ¶§´Â Ã¥ÀÇ ÄÚµå´Â Ã¥ÀÇ ³»¿ëÀ» ÀÌÇØÇϱâ À§ÇØ Âü°í¸¸ ÇÏ°í ºÎ·Ï CD¿¡ ´ã°ÜÀÖ´Â Ç®¼Ò½º¸¦ ÀÌ¿ëÇÏ´Â ÆíÀÌ ´õ ³ªÀ»°Ì´Ï´Ù.
»ç½Ç ¿ì¸® Á¤¼·Î´Â ÀúÀÚ³ª ¿ªÀÚ°¡ ¹«¼ºÀÇÇÏ´Ù°í »ý°¢ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, ¾î¶»°Ô º¸¸é ¿ì¸® ³ª¶óÀÇ ÇÁ·Î±×·¡¹Ö ±³À°°ú ¼ÀûÀÇ °ü½À¿¡ ±âÀÎÇÑ ¹®Á¦À̱⵵ ÇÕ´Ï´Ù. ¿ì¸®°¡ ÇÁ·Î±×·¡¹ÖÀ» Ã¥À̳ª ±³À° ±â°ü¿¡¼ ±³À° ¹Þ´Â °ÍÀ» º¸¸é ¹®¼¿¡ ÀÖ´Â °ÍÀ» ±×´ë·Î ÄÚµùÇÏ¿© ½Ç½ÀÇÏ´Â µ¥ Àͼ÷ÇØÁ® ÀÖ½À´Ï´Ù. ±×·¡¼ âÀǼºÀÌ Á» ¶³¾îÁö´Â ºÎºÐÀº ¾î´ÀÁ¤µµ ¼·Î°¡ ÀÌÇØÇϰí ÀÖ½À´Ï´Ù. ´ë½Å ±×·¸°Ô ½Ç½ÀÇÏ´Â µ¥ »ç¿ëµÇ´Â ¼Ò½º ÄÚµåÀÇ °áÇÔÀº Çã¿ëµÉ ¼ö ¾ø´Â °ÍÀÌÁÒ. ÇÏÁö¸¸ ¿Ü±¹ ¿ø¼¸¦ º¸¸é ¼Ò½º ÄÚµåÀÇ ¾ÕµÚ°¡ ¾î¶»°Ô ±¸¼ºµÇ´ÂÁöµµ ¸ðµÎ »©¸Ô°í ÇÙ½É ¾Ë°í¸®Áò¸¸ ¼³¸íÇØ ³õÀº °æ¿ì°¡ ´õ ¸¹ÁÒ. ´ë½Å ¿ø¸®¿¡ ´ëÇØ¼´Â öÀúÇÑ °ËÁõÀ» °ÅÄ£ °æ¿ì°¡ ¸¹½À´Ï´Ù. ¿ì¸®³ª¶ó¿¡¼ Á¦À۵Ǵ ´ëºÎºÐÀÇ ¼ÀûÀÌ ¿ø¸®¸¦ ¼³¸íÇÒ ¼ö ¾ø¾î¼(?) ¼Ò½º Äڵ常À¸·Î Ã¥À» ä¿ö ³Ö´Â °Í°ú´Â Á» ´ëÁ¶ÀûÀÎ ºÎºÐÀÔ´Ï´Ù. ÀÌ Ã¥¿¡ ´ã°ÜÀÖ´Â ¼Ò½º ÄÚµå´Â ±× Áß°£Âë µÇ´Â °ÍÀ¸·Î º¸ÀÔ´Ï´Ù. °Ñº¸±â¿¡´Â Ç®¼Ò½º°¡ ÀμâµÇ¾î ÀÖ´Â °Íó·³ º¸ÀÌÁö¸¸ ¾ÕÂÊ Ã©ÅÍ ´ëºÎºÐÀÇ ¼Ò½º´Â ¸¹Àº ºÎºÐÀ» »©¸Ô°í ÇÙ½É ºÎºÐ¸¸À» ³Ö¾î µÐ °ÍÀÌ ¸¹½À´Ï´Ù. º¸Åë Ã¥ÀÇ ¼Ò½º°¡ Ç®¼Ò½ºÀÌ³Ä ÇÁ¼¼µµ ¼Ò½ºÀ̳ĸ¦ ÆÇ´ÜÇÏ´Â ±âÁØÀº main() ÇÔ¼öÀÇ ¼±¾ð ¿©ºÎ·Î ÆÇ´ÜÀ» ÇÏ°Ô µË´Ï´Ù. ÀÌ Ã¥Àº À¯°¨½º·´°Ôµµ main()À» ¼±¾ðÇÏ°íµµ Ç®¼Ò½º°¡ ¾Æ´Ñ °æ¿ì°¡ ÀÖ½À´Ï´Ù.
±×·¡¼ µ¶Àںе鲲, ÀÌ Ã¥¿¡ ÀμâµÇ¾î ÀÖ´Â ¼Ò½º Äڵ带 main()ÀÌ ÀÖ´Ù°í ÇØ¼ Ç®¼Ò½º¶ó°í »ý°¢ÇÏÁö ¸¶½Ã¶ó°í ¸»¾¸µå¸®°í ½Í³×¿ä.
÷ºÎÆÄÀÏ :
|
|
|