3Aµç×ÓÊé > ÆäËûµç×ÓÊé > Èí¼þ¹¤³Ì˼Ïë >

µÚ12ÕÂ

Èí¼þ¹¤³Ì˼Ïë-µÚ12ÕÂ

С˵£º Èí¼þ¹¤³Ì˼Ïë ×ÖÊý£º ÿҳ4000×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

ͼ5¡£8¡¡Ö§³ÖЭͬ¹¤×÷µÄ½»»¥Ê½ÈýάͼÐÎÈí¼þ¿ª·¢ÏµÍ³

5¡£5¡£2¡¡Í¨Óý»»¥Ê½ÈýάͼÐÎÈí¼þ¿ª·¢¹¤¾ß¡¡Intra3D¡¡2¡£0
¡¡¡¡Intra3D¡¡2¡£0µÄºËÐÄÊǼ¯³ÉÁ˳¡¾°Êý¾Ý½á¹¹¡¢Í¼ÐζÔÏó¡¢Èýά½»»¥Ëã·¨ºÍͼÐÎÓû§½çÃæµÄC£«£«Àà¿âÓ루ponent¡¡Object¡¡Model£©¶ÔÏó¿â£¬Ö§³ÖVisual¡¡C£«£«¡¢Visual¡¡Basic¡¢DelphiµÈÓïÑÔµÄÓ¦Óñà³Ì¡£Intra3DµÄºËÐÄ¿â·ÖËIJ㴴½¨£º
£¨1£©µÚÒ»²ãΪ¡°»ù´¡¶ÔÏóÓ뺯Êý¡±£¨Basic¡¡Objects¡¡and¡¡Functions£©£»
£¨2£©µÚ¶þ²ãΪ¡°Í¼ÐζÔÏó¡±£¨Graphical¡¡Objects£©£»
£¨3£©µÚÈý²ãΪ¡°³¡¾°Í¼Óë½Úµã¡±£¨Scene¡¡Graph¡¡and¡¡Nodes£©£»
£¨4£©µÚËIJãΪ¡°»æÖÆÓë½»»¥¡±£¨Rendering¡¡and¡¡Interaction£©¡£
Ìåϵ½á¹¹Èçͼ5¡£9Ëùʾ£¬ÆäÖи߲㹹¼þ¿ÉÒÔÒýÓõͲ㹹¼þ£¬µ«µÍ²ã¹¹¼þ²»ÄÜÒýÓø߲㹹¼þ¡£

¡¡¡¡Í¼5¡£9¡¡¡¡Intra3D¡¡2¡£0¡¡µÄÌåϵ½á¹¹

¡¡¡¡Intra3D¡¡2¡£0ÊÇÃâ·ÑÈí¼þ£¬ÓÐÅäÌ×Êé¼®¡¶½»»¥Ê½ÈýάͼÐμ¼ÊõÓë³ÌÐòÉè¼Æ¡·¡£±ê×¼°æÈí¼þÔ¼25Õ×£¬ºËÐÄ¿â7Íò¶àÐÐC£«£«´úÂëÈ«²¿¹«¿ª£¬Óû§¿ÉÒÔ·½±ãµØÐÞ¸ÄÄÚºËÒÔÊÊÓ¦²»Í¬µÄÐèÇó¡£

5¡£5¡£2¡£1¡¡Ö÷Ҫģ¿éºÍ¹¦ÄÜ
Ò»¡¢»ù´¡¶ÔÏóÓ뺯Êý²ã
£¨1£©¶¨ÒåÁËÓÃÓÚ¶ÔÏóÒýÓüÆÊýµÄÄÚ´æ¹ÜÀí»ùÀࣻ
£¨2£©Ê¸Á¿¡¢¾ØÕóÓëËÄÔª×éÔËË㣬Êó±ê¸ú×ÙÇòËã·¨£»
£¨3£©µãÕó×ÖÌåÓëÈýάʸÁ¿×ÖÌåÊä³ö£¬³£ÓÃÓÚÊý¾Ý¿ÉÊÓ»¯Í¼ÐεÄÊý¾Ý±ê×¢£»
£¨4£©Í¼ÏñÊäÈëÊä³öÒÔ¼°ÎÆÀíÓ³É䣬֧³ÖBMP¡¢GIF¡¢JPEG¡¢SGI¡¢TGAµÈͼÏñ¸ñʽ£»
£¨5£©³£Óü¸ºÎͼԪµÄ»æÖÆ£¬Èç׶¡¢Öù¡¢Çò¡¢»·µÈ£¬²¢Ö§³ÖSweptÐÎÌ壬ÂÝÐýÌåµÄ»æÖÆ£»
£¨6£©Ìṩ450ÓàÖÖ²ÄÖÊ£¬ÔÚµÚËIJãÖпÉÒÔ½»»¥Ê½±à¼­ÕâЩ²ÄÖÊ¡£
¶þ¡¢Í¼ÐζÔÏó²ã
¡¡¡¡Í¼ÐζÔÏóÄܽ«Êý¾Ýת»¯Îª¼¸ºÎÄ£ÐͲ¢¿ÉÒÔ»æÖƳöÀ´¡£Intra3D¡¡2¡£0°æÌṩÁËÈýÀàͼÐζÔÏó£º
£¨1£©³£Óü¸ºÎ¶ÔÏó£¬È糤·½Ì塢׶Ìå¡¢Ô²ÖùÌå¡¢ÇòÌå¡¢Ô²»·Ìå¡¢SweptÐÎÌåµÈ£»
£¨2£©¶à±ßÐÎÄ£ÐͶÔÏ󣬿ÉÓÃÓÚ»æÖÆAutodesk¹«Ë¾¡£3dsÄ£ÐͺÍWavefront¹«Ë¾µÄ¡£objÄ£ÐÍ£»
£¨3£©ÉÌҵͳ¼ÆͼÐζÔÏó£¬ÈçÖùÐÎͼ¡¢´ø״ͼ¡¢ÌõÐÎͼ¡¢ÕÛÏßͼ¡¢Ãæ»ýͼ¡¢±ýͼ¡¢ËþÐÎͼ¡¢ÇúÏßͼ¡¢ÇúÃæͼ¡¢½ø³Ìͼ¡¢¹ÉƱͼµÈ¡£
¡¡¡¡Í¼ÐζÔÏóµÄ¿ª·¢ÓëÓ¦ÓÃÎÊÌâÃÜÇÐÏà¹Ø£¬Óû§¿ÉÒÔʹÓü̳з½·¨À©³äеÄͼÐζÔÏ󣬶ø²»»áÓ°Ïìµ½ÆäËüÈý²ãµÄ¹¹¼þ¡£
Èý¡¢³¡¾°Í¼Óë½Úµã
¡¡¡¡³¡¾°Í¼£¨Scene¡¡Graph£©ÊÇÓÐÏòÎÞ»·Í¼£¬Scene¡¡GraphµÄÖ÷Òª½ÚµãÓУº£¨1£©SceneNodeÊÇËùÓнڵãµÄ»ùÀà¡£ÔÚSceneNodeÖж¨ÒåÁ˾ֲ¿×ø±êϵÒÔ¼°ÏàÓ¦µÄͼÐα任£¬ÕâÑù±ãÓÚµÚËIJãÒÔͬÑùµÄ²Ù×÷·½Ê½ÊµÏÖÈýά½»»¥¡££¨2£©Ïà»ú½Úµã£¨CameraNode£©Ö§³ÖƽÐÐͶӰÓë͸ÊÓͶӰ£¬Ö§³Ö¶à¸öÏà»úÇл»¡££¨3£©¹âÔ´½ÚµãÓÐÈýÖÖ£ºÆ½ÐйâÔ´½Úµã£¨DirLightNode£©¡¢µã¹âÔ´½Úµã£¨PointLightNode£©ºÍ׶¹âÔ´½Úµã£¨SpotLightNode£©¡££¨4£©ÐÎÌå½Úµã£¨ShapeNode£©ÓÃÓÚÒýÓÃͼÐζÔÏó£¬ÓйØͼÐζÔÏóµÄÈýά½»»¥¾ùÓÉShapeNode´¦Àí¡£
ËÄ¡¢»æÖÆÓë½»»¥²ã
¡¡¡¡Intra3DµÄ½»»¥·ÖÁ½ÀࣺһÀàÊǶÔÐÎÌå¡¢¹âÔ´ºÍÏà»úµÄÖ±½Ó²Ù×÷£¬ÁíÒ»ÀàÊÇÕæʵ¸ÐÊôÐԵı༭¡£Intra3DµÄ³¡¾°ÊÓͼ¹¹¼þ£¨SceneView£©·â×°Á˽»»¥Ê½»æÖƵÄËùÓÐϸ½Ú£¬ÈçÏûÏ¢´¦Àí¡¢³¡¾°½ÚµãµÄ±éÀú»æÖÆ¡¢¶àÖزÉÑùÏû¾â³Ý¡¢Êó±ê½»»¥µÈ¡£ÎªÁ˱ãÓڱ༭Õæʵ¸ÐÊôÐÔ£¬Intra3D¶¨ÖÆÁËһЩ³£ÓöԻ°£ºÊ¸Á¿×ÖÌå¶Ô»°£¨FontDialog£©¡¢ÑÕÉ«¶Ô»°£¨ColorDialog£©¡¢²ÄÖÊ¿â¶Ô»°£¨MaterialLibDialog£©¡¢²ÄÖʶԻ°£¨MaterialDialog£©Óë¹âÔ´¶Ô»°£¨DirLightDialog£»¡¡PointLightDialog£»¡¡SpotLightDialog£©¡£

5¡£5¡£2¡£2¡¡Óû§½çÃæÉè¼Æ
¡¡¡¡Intra3DµÄ³¡¾°ÊÓͼ¹¹¼þSceneViewÓÃÓÚ¿ìËÙ´´½¨½»»¥Ê½3DÓ¦ÓóÌÐòµÄÖ÷½çÃæ¡£SceneViewÖ§³Öselecting¡¢scaling¡¢rotating¡¢translating¡¢creating¡¢deletingµÈÈýÊ®ÓàÖÖ²Ù×÷£¬²¢Ìṩ¹¤¾ßÌõ·½±ãÓÚ½»»¥£¬Èçͼ5¡£10Ëùʾ¡£
¡¡¡¡ÎªÁ˱༭Õæʵ¸ÐÊôÐÔ£¬³£ÐèÔÚ¶Ô»°¿òÖлæÖÆ3D¡¡Í¼ÐΡ£MicrosoftµÄ´°¿Úϵͳ²»Ìṩ3DµÄ¶Ô»°´°¿Ú¡£Ê¹ÓÃIntra3DµÄWindow3D¹¹¼þ¿ÉÔÚ¶Ô»°¿òÖд´½¨¶à¸ö3DÊÓͼ£¬Í¼5¡£11µÄ²ÄÖʶԻ°ºÍͼ5¡£12µÄ²ÄÖÊ¿â¶Ô»°¶¼Ê¹ÓÃÁËWindow3D¹¹¼þ¡£ÑÕÉ«±à¼­ÊÇ3DͼÐγÌÐòÖÐ×î³£ÓõĽ»»¥£¬²ÄÖÊÓë¹âÔ´µÄ±à¼­Êµ¼ÊÉÏÊÇͨ¹ý¸Ä±äÑÕÉ«·ÖÁ¿À´ÊµÏֵġ£ÐèÒª½øÐÐÑÕÉ«±à¼­µÄ½»»¥¾ùÉæ¼°HSVÓëRGBģʽµÄÑÕɫת»»¡£Intra3DµÄ¡°»æÖÆÓë½»»¥²ã¡±ÊµÏÖÁËÕâЩ¼ÆË㣬²¢ÇÒÌṩ²ÊÉ«µÄ»¬¶¯ÌõÓÃÓÚÊó±ê½»»¥¡£Í¼5¡£13¡¢Í¼5¡£14·Ö±ðΪµã¹âÔ´¶Ô»°ºÍÑÕÉ«¶Ô»°¡£
¡¡¡¡Í¼5¡£10¡¡¡¡ÓÃÓÚÖ±½Ó²Ù×÷µÄÈýά½»»¥¹¤¾ßÌõ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£11¡¡¡¡²ÄÖʶԻ°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£12¡¡¡¡²ÄÖÊ¿â¶Ô»°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£13¡¡µã¹âÔ´¶Ô»°¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼5¡£14¡¡¡¡ÑÕÉ«¶Ô»°

5¡£5¡£3¡¡Ö§³ÖЭͬ¹¤×÷µÄÍøÂçͨѶ¿ª·¢ÏµÍ³¡¡CNC¡¡1¡£0
×î¼òµ¥µÄЭͬ¹¤×÷ģʽÊÇÈÃÁ½¸ö¿Í»§»úÖ±½ÓͨѶ£¬¿ÉÒÔÓÃSocket±à³ÌʵÏÖ¡£¼ÙÉèÓС¡n¡¡¸ö¿Í»§»ú²Î¼ÓЭͬ¹¤×÷£¬Ã¿¸ö¿Í»§»ú½«ÓëËùÓÐÆäËüµÄ¿Í»§»úͨѶ¡£ÄÇô×ܹ²´æÔÚn£¨n¡­1£©/2¡¡¸öSocketÖ±½ÓͨѶ£¬²¢ÇÒÿ¸ö¿Í»§»úµÄ±ä¶¯½«µ¼ÖÂÆäËü¿Í»§»úµÄÐ޸ġ£ÕâÖÖSocketÖ±½ÓͨѶʹµÃЭͬ¹¤×÷µÄ¹ÜÀíºÍ¿Í»§»úµÄ³ÌÐòÉè¼Æ±äµÃ·Ç³£À§ÄÑ¡£CNCϵͳÌṩÁËÖ§³Ö¡°·¢²¼¡ª¶©ÔÄ£¨Publish¡­Subscribe£©¡±Óë¡°×é²¥£¨Multicast£©¡±¡¡Ä£Ê½µÄ·þÎñÆ÷ÓëAPI£¬¿ÉÒÔ¸ßЧµØ¹ÜÀí¶à¸ö×éȺµÄЭͬ¹¤×÷£¬²¢Ê¹µÃ¿Í»§»úµÄ³ÌÐòÉè¼ÆÊ®·Ö¼òµ¥¡£CNC¡¡1¡£0µÄϵͳ½á¹¹Èçͼ5¡£15Ëùʾ¡£
¡¡¡¡CNC¡¡·þÎñÆ÷½«¿Í»§»ú·Ö×é¹ÜÀí¡£ÔÚ¡°·¢²¼¡ª¶©ÔÄ¡±Ä£Ê½ÖУ¬½«²úÉúÊý¾ÝµÄ½ø³Ì³ÆΪÉú²úÕߣ¨Producer£©£¬½«½ÓÊÜÊý¾ÝµÄ½ø³Ì³ÆΪÏû·ÑÕߣ¨Consumer£©¡£Éú²úÕß¿ÉÒÔÏò·þÎñÆ÷·¢²¼Êý¾Ý£¬·þÎñÆ÷±£´æÕâЩÊý¾Ý¡£Ïû·ÑÕß¿ÉÒÔÏò·þÎñÆ÷¶©ÔÄÊý¾Ý¡£Ã¿¸ö¿Í»§»ú¿ÉÄÜÊǺܶàÊý¾ÝµÄÉú²úÕß»òÏû·ÑÕß¡£Í¬Ò»Ê±¿Ì£¬CNCϵͳÔÊÐíÓÐÈÎÒâ¶à¸öÉú²úÕߺÍÏû·ÑÕß´æÔÚ¡£CNCµÄ¡°·¢²¼¡ª¶©ÔÄ¡±¡¡¹¦ÄÜÊÇÓÃTCPЭÒéʵÏֵġ£
ÔÚ¡°×é²¥¡±¡¡Ä£Ê½ÖУ¬·þÎñÆ÷¶¯Ì¬µØ·ÖÅäÿ¸ö×éµÄ×é²¥µØÖ·¡£¿Í»§»ú¿ÉÒÔÏò·þÎñÆ÷ÉêÇë¼ÓÈëÈÎÒâ×飬ÔÊÐíÏòÈÎÒâ×é²¥·ÅÏûÏ¢£¬·þÎñÆ÷²»±£´æÕâЩ×é²¥ÏûÏ¢¡£CNCµÄ¡°×é²¥¡±¹¦ÄÜÊÇÓÃUDPЭÒéʵÏֵġ£

ͼ5¡£15¡¡¡¡CNC¡¡1¡£0¡¡µÄϵͳ½á¹¹

5¡£5¡£3¡£1¡¡¡¡CNC¡¡¿Í»§»úµÄAPIÉè¼Æ
ÀàCNCClient¿Í»§»úÓÃÀ´ÊµÏÖ¡°·¢²¼¡ª¶©ÔÄ¡±ºÍ¡°×é²¥¡±¹¦ÄÜ£¬Ö÷Òª½Ó¿Ú£¨¹«Óк¯Êý£©ÈçÏ£º
class¡¡CNCClient
¡¡¡¡£ûpublic£º
BOOL¡¡Connect£¨¡­£©£»//¡¡Á¬½Ó·þÎñÆ÷
BOOL¡¡Disconnect£¨£©£»//¡¡Óë·þÎñÆ÷¶Ï¿ªÁ¬½Ó
BOOL¡¡PublishData£¨¡­£©£»//¡¡Ïò·þÎñÆ÷·¢²¼Êý¾Ý
BOOL¡¡QueryData£¨¡­£©£»¡¡//¡¡Ïò·þÎñÆ÷²éѯÊý¾Ý
BOOL¡¡SubscribeData£¨¡­£©£»//¡¡Ïò·þÎñÆ÷¶©ÔÄÊý¾Ý
GROUPIP¡¡QueryGroupIP£¨¡­£©£»¡¡//¡¡Ïò·þÎñÆ÷²éѯ×é²¥µØÖ·
DWORD¡¡MulticastMessage£¨¡­£©£»//¡¡·¢ËÍ×é²¥ÏûÏ¢
virtual¡¡void¡¡MessageResponse£¨¡­£©£»//¡¡ÏìÓ¦×é²¥ÏûÏ¢
¡­
£ý£»
Ò»¡¢¿Í»§³ÌÐòµÄ¡°·¢²¼¡±Ð­Òé
¿Í»§»úÏò·þÎñÆ÷·¢²¼µÄÿ¸öÊý¾Ý±¨¾ùº¬ÓÐÊý¾ÝÀàÐÍ¡¢¹¤×÷×éÃû³Æ¡¢Êý¾ÝÃû³Æ¡¢ÉúÃüÆÚºÍÊý¾Ý³¤¶ÈµÄÐÅÏ¢¡£±¨ÎĸñʽÈçͼ5¡£16Ëùʾ£¬Êý¾Ý½á¹¹¼û¡¡DataPublish¡¡£º
struct¡¡DataPublish
¡¡¡¡£û
BYTE¡¡iDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪDATA_PUBLISH
charstrGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
charstrDataName£§16£§£»//¡¡16¸ö×Ö½ÚµÄÊý¾ÝÃû×Ö
DWORDdwLifeTime£»//¡¡4¡¡¸ö×Ö½ÚµÄÊý¾ÝÉúÃüÆÚ£¬ÒÔÃëΪµ¥Î»
DWORDdwLength£»//¡¡4¡¡¸ö×Ö½ÚµÄÊý¾ÝÄÚÈݵij¤¶È
char*pchContent£»//¡¡Êý¾ÝÄÚÈÝ
¡¡¡¡£ý£»

¡¡¡¡¡¡¡¡¡¡2×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡16×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡16×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡4×Ö½Ú¡¡¡¡¡¡¡¡¡¡¡¡4×Ö½Ú

ͼ5¡£16¡¡¡¡ÓÃÓÚ·¢²¼µÄ±¨Îĸñʽ

¶þ¡¢¿Í»§³ÌÐòµÄ¡°¶©ÔÄ¡±Ð­Òé
¡¡¡¡¿Í»§»úÏò·þÎñÆ÷¶©ÔÄÊý¾Ý·ÖÁ½²½ÊµÏÖ£º
£¨1£©Ïȵ÷Óú¯ÊýQueryDataÏò·þÎñÆ÷·¢ËÍÒ»¸ö¡¡DataQuery¸ñʽµÄ±¨ÎÄ£¬ÓÃÓÚ²éѯҪ¶©ÔĵÄÊý¾ÝÊÇ·ñ´æÔÚ¡£
struct¡¡DataQuery
¡¡¡¡£û
¡¡¡¡BYTEiDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪDATA_QUERY
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
¡¡¡¡char¡¡strDataName£§16£§£»¡¡//¡¡16¸ö×Ö½ÚµÄÊý¾ÝÃû×Ö
£ý£»
£¨2£©·þÎñÆ÷½ÓÊÕµ½²éѯʱ£¬°´ÕÕ¡¡DataQuery½á¹¹ÖеÄstrGroupNameºÍstrDataName½øÐÐËÑË÷¡£Èç¹û¸ÃÊý¾Ý²»´æÔÚ£¬ServerÏòClient·¢ËÍÒ»¸öFALSE±êÖ¾¡£Èç¹û¸ÃÊý¾Ý´æÔÚ£¬·þÎñÆ÷ÏÈÏò¿Í»§»ú·¢ËÍÒ»¸öTRUE±êÖ¾£¬Ö®ºóÁ¢¼´ÔÙÏò¿Í»§»ú·¢Ë͸ÃÊý¾Ý£¨DataPublish¸ñʽ£©¡£¡¡
¡¡¡¡Èç¹û¿Í»§»úµÃµ½TRUE±êÖ¾µÄ²éѯ½á¹û£¬¾Íµ÷Óú¯ÊýSubscribeDataÀ´½ÓÊÕ·þÎñÆ÷·¢Ë͹ýÀ´µÄÊý¾Ý¡£

Èý¡¢¿Í»§³ÌÐòµÄ¡°×é²¥¡±Ð­Òé
¿Í»§»úÏȵ÷Óú¯ÊýQueryGroupIPÏò·þÎñÆ÷·¢ËÍÒ»¸öGroupAddress¸ñʽµÄ±¨ÎÄ£¬ÓÃÓÚ²éѯ×é²¥µØÖ·¡£·þÎñÆ÷·µ»ØÏàÓ¦µÄÊ®½øÖƵã·ÖʽµÄIPµØÖ·¡£
struct¡¡GroupAddress
¡¡¡¡£û
¡¡¡¡BYTEiDataType£»//¡¡2¡¡¸ö×Ö½ÚÊý¾ÝÀàÐÍ£¬ºê¶¨ÒåΪGROUP_ADDRESS
char¡¡strGroupName£§16£§£»//¡¡16¸ö×ֽڵŤ×÷×éÃû×Ö
£ý£»
¡¡¡¡¿Í»§»úµ÷Óú¯ÊýMulticastMessageÏòÖ¸¶¨µÄ×飨¸ù¾Ý×é²¥µØÖ·£©²¥·ÅÏûÏ¢¡£×é²¥µÄÊý¾Ý±¨½á¹¹¡¡DataMulticast¶¨ÒåÈçÏ£º
¡¡¡¡struct¡¡DataMulticast
¡¡¡¡£û
DWORDdwContentType£»//¡¡×é²¥µÄÊý¾Ý±¨ÀàÐÍ£¬ÓÉÓû§¶¨Òå
char*pchContent£»//¡¡×é²¥µÄÊý¾Ý±¨ÄÚÈÝ£¬ÓÉÓû§¶¨Òå
¡¡¡¡£ý£»
¡¡¡¡Èç¹û¿Í»§»ú½ÓÊÕµ½×é²¥µÄÏûÏ¢£¬½«×Ô¶¯µ÷Óú¯ÊýMessageResponseÀ´ÏìÓ¦¸ÃÏûÏ¢¡£MessageResponseÊÇÐ麯Êý£¬Ëü½«¸ù¾ÝdwContentTypeÐÅÏ¢¾ö¶¨ÈçºÎ´¦Àíµ½À´µÄ×é²¥ÏûÏ¢£¬¾ßÌ幦ÄÜÓÉÓû§¶¨Òå¡£

5¡£5¡£3¡£2¡¡¡¡CNC¡¡·þÎñÆ÷µÄÉè¼Æ
Ò»¡¢Êý¾Ý½á¹¹
CNC¡¡·þÎñÆ÷µÄÊý¾Ý½á¹¹Ö÷ÒªÓÉÈý²¿·Ö×é³É£º
£¨1£©Ò»ÕÅÓÃÓÚ¹ÜÀí×é²¥µØÖ·µÄÁ´±í¡£×é²¥µØÖ·ÓÉ·þÎñÆ÷¶¯Ì¬Éú³É£¬¿Í»§»ú¿ÉÒÔÏò·þÎñÆ÷²éѯÈÎÒâ×éµÄ×é²¥µØÖ·¡£
£¨2£©Ò»ÕÅÓÃÓÚ¹ÜÀíÏß³ÌÖ¸ÕëµÄÁ´±í¡£·þÎñÆ÷²ÉÓöàÏ̲߳¢·¢´¦Àí¼¼Êõ£¬Ê¹¿Í»§»ú»ñµÃ×î¿ìµÄÏìÓ¦¡£
£¨3£©Ã¿¸ö×鶼ÓÐÒ»ÕÅÓÃÓÚ¹ÜÀí¡°·¢²¼¡ª¶©ÔÄ¡±µÄÊý¾ÝµÄHash±í¡£ÓÉÓÚͬһʱ¿Ì£¬ÏµÍ³¿ÉÄÜ´æÔÚ¶à¸öÉú²úÕßÓëÏû·ÑÕߣ¬Êý¾ÝµÄ´æÈ롢ȡ³öËٶȳÉΪ·þÎñÆ÷ÐÔÄܵÄÖØÒªÖ¸±ê¡£Hash±í¿ÉÒÔÌṩ±ÈÁ´±í¸ü¿ìµÄÊý¾Ý¼ìË÷Ëٶȡ£Hash±íÖеÄÊý¾ÝÏî½á¹¹¼ûDataElement¡¡£º
struct¡¡DataElement
¡¡¡¡£û
charstrGroupName£§16£§£»//¡¡¹¤×÷×éµÄÃû³Æ
charstrDataName£§16£§£»//¡¡Êý¾ÝµÄÃû³Æ
BYTEiStorageType£»//¡¡´æ´¢ÀàÐÍ£º¡¡STORAGE_FILE¡¡»ò¡¡STORAGE_MEMORY
ColeDateTimeTimeToDie£»//¡¡×÷·Ïʱ¿Ì
BOOLbLock£»//¡¡Ëø¶¨±êÖ¾£º¡¡TRUE¡¡»ò¡¡FALSE
DWORDdwLength£»//¡¡Êý¾ÝµÄ³¤¶È
char*pchContent£»//¡¡Êý¾ÝÄÚÈÝ
¡¡¡¡£ý£»

´æ´¢ÀàÐÍ£¨iStorageType£©µÄÓÃ;£º°ÑÊý¾ÝÈ«²¿±£´æÔÚÄÚ´æÖн«·Ç³£ÏûºÄ·þÎñÆ÷µÄÄÚ´æ×ÊÔ´£¬ÔںܶàÇé¿öÏÂÊÇûÓбØÒªµÄ¡£ÎªÁËÌá¸ßÄÚ´æµÄʹÓÃЧÂÊ£¬·þÎñÆ÷½ö°ÑÉúÃüÆڽ϶̻òÕß³¤¶È½Ï¶ÌµÄÊý¾Ý±£´æÔÚÄÚ´æÖУ¨¼´ÎªSTORAGE_MEMORYÀàÐÍ£©£¬¶ø°ÑÉúÃüÆڽϳ¤»òÕß³¤¶È½Ï³¤µÄÊý¾Ý±£´æÔÚÎļþÖУ¨¼´ÎªSTORAGE_FILEÀàÐÍ£©¡£
×÷·Ïʱ¿Ì£¨TimeToDie£©µÄÓÃ;£º¿Í»§»ú·¢²¼µÄÊý¾Ý¾ùÖ¸¶¨ÁËÉúÃüÆÚ£¬·þÎñÆ÷ÔÚ½ÓÊÕµ½Êý¾Ýʱ¼´¿É¼ÆËã³ö×÷·Ïʱ¿Ì¡£·þÎñÆ÷½«¶¨ÆÚɨÃèHash±í£¬Èô·¢ÏÖÓÐÊý¾Ý³¬³ö×÷·Ïʱ¿Ì£¨²¢ÇÒûÓб»Ëø¶¨£©£¬¼´¿Éɾ³ý´ËÊý¾Ý¡£
Ëø¶¨±êÖ¾£¨bLock£©µÄÓÃ;£ººÜ¶à¿Í»§»ú¿ÉÄÜͬʱ¶©ÔÄij¸öÊý¾Ý£¬¶ø¸ÃÊý¾Ý¿ÉÄÜÒѳ¬³ö×÷·Ïʱ¿Ì¼´½«±»É¾³ý¡£Îª±ÜÃâ³åÍ»£¬¹æ¶¨Ö»ÒªÓпͻ§»ú¶©ÔÄÊý¾Ý£¬¾ÍÓÃiLock±êÖ¾À´Ëø¶¨´ËÊý¾Ý£¬Ö±µ½¶©ÔÄÍê³Éºó²ÅÏû³ýËø¶¨¡£

¶þ¡¢¶àÏ̲߳¢·¢¼¼Êõ
·þÎñÆ÷ÓÐÒ»¸öÖ÷Ï̺߳Ͷà¸ö×ÓÏ̡߳£Ö÷Ï̸߳ºÔð¿Í»§»úµÄÈëÁ¬½ÓÇëÇó£¬È»ºó´´½¨Ò»¸ö×ÓÏß³ÌÀ´´¦ÀíÕâ¸öTCPÁ¬½Ó¡£Ã¿¸ö×ÓḬ̈߳´ÕÕCNC¡¡APIµÄЭÒéÓë¿Í»§»úͨѶ¡£ÓÉÓÚÓжà¸ö×ÓÏ̹߳²Ïí·þÎñÆ÷ÖеÄÊý¾Ý£¬¶àÏ̶߳Թ²Ïí×ÊÔ´µÄͬ²½·ÃÎʳÉΪʵÏÖµÄÄѵ㡣CNC¡¡Ö÷Òª²ÉÓÃÁ˹ؼüÇø¡¢»¥³â¶ÔÏóµÈͬ²½Êֶνâ¾öÕâ¸öÎÊÌâ¡£

Èý¡¢WinsockµÄʹÓÃ
CNC¡¡1¡£0ÔËÐÐÓÚWindows¡¡9x/NTϵͳÏ£¬µ×²ãµÄÍøÂçͨѶ³ÌÐòÓÃWinsock±àд¡£WinsockÓÐÁ½ÖÖ¹¤×÷·½Ê½£º×èÈû·½Ê½ºÍ·Ç×èÈû·½Ê½¡£×èÈû·½Ê½µÄÓŵãÊDZà³Ì¼òµ¥£¬¿É¿¿ÐԺá£È±µãÊÇÈÝÒ×ʹӦÓóÌÐò×èÈûס£¬²»ÄÜ´¦ÀíÆäËüÊÂÎñ¡£·Ç×èÈû·½Ê½ÊÇÀûÓÃWindows¡¡ÏûÏ¢»úÖÆʵÏֵġ£ÓŵãÊÇÔÚÊý¾Ýµ½À´µÄʱºò£¬ÏµÍ³ÏòÓ¦ÓóÌÐò´°¿Ú·¢ËÍÏûÏ¢£¬Ê¹µÃÓ¦ÓóÌÐò²»±Ø×ÜÔڵȴýÊý¾Ý£¬Ìá¸ßÁ˹¤×÷ЧÂÊ¡£È±µãÊÇÔÚ·¢ËͺͽÓÊÕÊý¾Ýʱ£¬Ó¦ÓóÌÐò²¢²»½«ÊÂÇé×öÍ꣨²»×èÈû£©£¬ÒÔÖÁÓÚÓ¦ÓóÌÐòҪά»¤¸´Ô

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©

Äã¿ÉÄÜϲ»¶µÄ