WSAAsyncSelectÄ£ÐÍDelphi¼òµ¥ÊµÏÖ
TCPÁ¬½Ó½¨Á¢Óë¹Ø±Õ
ÏàП÷λ¶ÁÕßÏÖÔÚ¶Ôì¶ Winsock µÄ¶¨Ò塢ϵͳ»·¾³£¬ÒÔ¼°Ò»Ð© Winsock Stack¼° Winsock Ó¦ÓóÌʽ£¬¶¼Óлù±¾µÄÈÏʶÁË¡£½ÓÏÂÀ´±ÊÕßÏ£ÍûÄÜ·Ö¼¸ÆÚΪ¸÷λ¶ÁÕß½éÉÜһϼòµ¥µÄ Winsock ÍøÂ·Ó¦ÓóÌʽÉè¼Æ¡£ÎÒÃǽ«ÒÔ Winsock 1.1 ¹æ¸ñËù¶¨ÒåµÄ 46 ¸öÓ¦ÓóÌʽ½éÃæ£¨API£©Îª»ù´¡£¬Öð²½À´½¨Á¢Ò»¶Ô TCP socket Ö÷´Ó¼Ü¹¹£¨Client / Server£©µÄ³Ìʽ¡£ÔÚÕâÁ½¸ö³ÌʽÖУ¬Server ½«Ê¹Óà Winsock ÌṩµÄ¡¸·Çͬ²½¡¹£¨asynchronous£©º¯Ê½À´½¨Á¢ socket Á¬½á¡¢¹Ø±Õ¡¢¼°×ÊÁÏÊÕË͵ȵȣ»¶ø Client Ôò²ÉÀàËÆ´«Í³ UNIX µÄ¡¸×èÀ¹Ê½¡¹£¨blocking£©¡£ÓÉì¶ÎÒÃǵÄÖØµã²¢²»ÔÚì¶ MS Windows SDK µÄ³ÌʽÉè¼Æ£¬ËùÒÔÎÒÃǽ«Ê¹ÓÃ×î¼ò±ãµÄ·½Ê½À´ÏÔʾѶϢ£»ÓÐ¹Ø MS Windows ³ÌʽµÄ¼¼ÇÉ£¬Çë¸÷λ¶ÁÕß×ÔÐÐÑо¿Ïà¹ØµÄÊé¼®¼°ÎÄÕ¡£
½ñÌìÎÒÃÇÏÈÒª¿´Ò»ÏÂÖ÷´Ó¼Ü¹¹ TCP socket µÄ½¨Á¢Á¬½á£¨connect£©¼°¹Ø±Õ£¨close£©¡£ÒÔǰ±ÊÕßÔø¼òµ¥µØ½éÉܹýÖ÷´Ó¼Ü¹¹µÄ¸ÅÄÏÖÔÚÎÒÃÇÔÙÒÔÉú»îÉϸüdzÏÔµÄÀý×ÓÀ´ËµÃ÷һϣ¬¶ÁÕßÉÔááÒ²½ÏÈÝÒ×ÄÜÃ÷°×±ÊÕßµÄÐðÊö¡£ÎÒÃÇ¿ÉÒÔ¼ÙÉè Server ¾ÍÏñÊǵçОÖËùÌṩµÄһЩ·þÎñ£¬±ÈÈ硸104 ²éºĄ̊¡¹»ò¡¸112 Õϰ̨¡¹¡£
£¨1£©µçОÖÏȽ¨Á¢ºÃÁËÒ»¸öµç»°×Ü»ú£¬Õâ¾ÍÏñÊǺô½Ð socket() º¯Ê½¿ªÆôÁËÒ»¸ö socket¡£
£¨2£©½ÓÖøµçОֽ«Õâ¸ö×Ü»úµÄºÅÂ붨Ϊ 104£¬¾ÍÈçͬÎÒÃǺô½Ð bind() º¯Ê½£¬½« Server µÄÕâ¸ö socket Ö¸¶¨£¨bind£©ÔÚijһ¸ö port¡£µ±È»µçОֱØÐëÈÃÓû§ÖªµÀÕâ¸öºÅÂ룻¶øÎÒÃÇµÄ Client ³ÌʽͬÑùÒ²ÒªÖªµÀ Server ËùÓÃµÄ port£¬´ý»á²ÅÓа취ÓëÖ®Á¬½Ó¡£
£¨3£©µçÐÅ¾ÖµÄ 104 ²éºĄ̊µ×Ï»áÓÐһЩ×Ô¶¯·þÎñµÄ·Ö»ú£¬µ«ÊÇËüµÄÊýÁ¿ÊÇÓÐÏ޵ģ¬ËùÒÔÓÐʱÄã»á²¦²»Í¨Õâ¸öºÅÂ루æÏߣ©¡£Í¬ÑùµØ£¬ÎÒÃÇÔÚ½¨Á¢Ò»¸ö TCP µÄServer socket ʱ£¬Ò²»áºô½Ð listen() º¯Ê½À´¼àÌýµÈ´ý£»listen() µÄµÚ¶þ¸ö²ÎÊý¼´ÊÇ waiting queue µÄÊýÄ¿£¬Í¨³£ÊýÖµÊÇÓÉ 1 µ½ 5¡££¨ÊÂʵÉÏÕâÁ½Õß»¹ÊÇÓе㲻һÑù¡££©
£¨4£©Óû§ÖªµÀÁ˵çОֵÄÕâ¸ö 104 ²éºÅ·þÎñ£¬Ëû¾Í¿ÉÒÔÀûÓÃij¸öµç»°À´²¦ºÅÁ¬½ÓÕâ¸ö·þÎñÁË¡£Õâ¾ÍÊÇÎÒÃÇ Client ³Ìʽ¿ªÆôÒ»¸öÏàͬµÄ TCP socket£¬È»ááºô½Ð connect() º¯Ê½È¥Á¬½Ó Server Ö¸¶¨µÄÄǸö port¡£µ±È»ÁË£¬ºÍµç»°Ò»Ñù£¬Èç¹û waiting queue ÂúÁË¡¢Óë Server ¼äÏß·²»Í¨¡¢»òÊÇ Server ûÌṩ´ËÏî·þÎñʱ£¬ÄãµÄÁ¬½Ó¾Í»áʧ°Ü¡£
£¨5£©µçОֲéºĄ̊µÄ×Ü»ú½ÓÊÜÁËÕâͨ²éѯµÄµç»°áᣬËü»áתµ½ÁíÒ»¸ö·Ö»ú×ö·þÎñ£¬¶ø×Ü»ú±¾ÉíÔòÔٻص½µÈ´ýµÄ״̬¡£Server µÄ listening socket ÒàÊÇÒ»Ñù£¬µ±Äãºô½ÐÁË accept(
Ïà¹ØÎĵµ£º
EventʼþÓ÷¨ÓëMutex²î²»¶à£¬µ«Ëü¿ÉÒÔʹÓãºSetEvent£¨Æô¶¯ÔËÐУ©ResetEvent£¨ÔÝÍ£ÔËÐУ©¡¢PulseEvent£¨Ö´ÐÐÒ»´ÎºóÁ¢¼´ÔÝÍ££©¡£
ÏÈ¿´Ò»Ï´´½¨º¯Êý£ºCreateEvent(
......
DelphiµÄVCL¿ò¼ÜÔÚ´´½¨Ó¦ÓÃʱTApplicationÊÇÒ»¸ö×Ô¶¯´´½¨µÄÒþ²Ø´°¿Ú£¬ÆäËü´´½¨µÄ´°¿ÚÊÇ×Ô¶¯ÒԸô°¿ÚΪ´°¿Ú£¬Õâ¾Íµ¼Ö´´Ê¼µÄÖ÷´°¿ÚÔÚÈÎÎñÀ¸µÄϵͳ²Ëµ¥Ö»ÓÐÈýÏֻҪÔÚÖ÷´°¿ÚµÄCreateʼþÖн«ÏµÍ³²Ëµ¥ÓÃApplicationµÄϵͳ²Ëµ¥Ìæ»»£¬²¢½«SysCommandÏûϢת·¢µ½Ö÷´°¿Ú¾ÍÕý³£ÁË¡£
unit Unit1;
interface
uses
Windows ......
ÔÚ¶àCPU»ò¶àºËCPUÖУ¬»áËæ»úµÄ»ñµÃ²»Í¬µÄÐòÁкÅ.Õâ¾ÍΪÎÒÃǸù¾ÝCPUÐòÁкÅÀ´ÖÆ×÷×¢²á»ú´øÀ´Á˺ܴóµÄÂé·³¡£
Windows 2000/XPÔÊÐíÉèÖýø³ÌºÍÏ̵߳ĹØÏµ¡£»»¾ä»°Ëµ£¬¿ÉÒÔ¿ØÖÆÄĸö CPU Äܹ»ÔËÐÐijЩÏ̡߳£Õâ³ÆÎªAffinity Mask¡£WindowsÌṩÁËÉèÖÃÏàËÆÐԵĺ¯ÊýSetProcessAffinityMask £¬Ê¹ÓÃËü¿É ......
×î½üÐèÒª°²×°µÚÈý·½×é¼þ£¬ÔÚÍøÂçÉÏÕÒµ½Ò»Ð©×ÊÁÏת¹ýÀ´¿´¿´
ÓÉÓÚ×é¼þÌṩµÄ·½Ê½²»Í¬£¬ËùÒÔ°²×°µÄ·½·¨Ò²ÊDz»Ò»ÑùµÄ£¬ÏÂÃæ¾ÍĿǰ³£¼ûµÄ¸÷ÖÖÐÎʽµÄ×é¼þµÄ°²×°·½·¨½éÉÜһϡ£
1 Ö»ÓÐÒ»¸öDCUÎļþµÄ×é¼þ¡£DCUÎļþÊDZàÒëºÃµÄµ¥ÔªÎļþ£¬ÕâÑùµÄ×é¼þÊÇ×÷Õß²»Ïë°ÑÔ´Â빫² ......
ËäÈ»ÓõÁ°æÊǼþºÜ²»¹â²ÊµÄÊÂÇé,µ«ÊÇÕâ¸öÈí¼þĿǰʵÔÚÊÇÂò²»Æð.ºÇ,ÕÛÄ¥ÁËÊýÔÂ,¶ø½ñÌìÈ´²»¾Òâ¼ä³É¹¦ÁË. ʵÔÚÊÇÄÑÑÚÐÄÖпì¸Ð.
ÕâËùνµÄÆÆ½â¹ý³ÌÏ൱¼òµ¥
°Ù¶ÈËÑË÷Ò»ÏÂ
Delphi.Distiller.v1.85
½âѹºóÔËÐÐ,µãµ½DELPHI2010Ò³Ãæ,>Tweat>ÔÙ¹´ÉÏRemove Delphi 2010 Updata....,ÔÙµã»÷Clear All Embarcadero...
½ÓמÍOK ......