Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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(


Ïà¹ØÎĵµ£º

Delphi¶àÏß³Ìѧϰ£¨5£©£º»¥³âÁ¿Mutex

»¥³âÁ¿ÊÇϵͳÄں˶ÔÏó£¬Ë­ÓµÓоÍË­Ö´ÐС£ËüÓëÁÙ½çÇø¹¤×÷ºÜÀàËÆ¡£²»Í¬´¦ÔÚÓÚ£º1¡¢»¥³âÁ¿¿ÉÒÔ¿ç½ø³Ì±ß½çͬ²½Ï̡߳£2¡¢¿ÉÒÔ¸ø»¥³âÁ¿È¡¸öÃû×Ö£¬Í¨¹ýÒýÓû¥³âÁ¿µÄÃû×ÖÀ´Ê¹ÓÃÒ»¸öÒÑÖªµÄ»¥³âÁ¿¶ÔÏó¡£
     ʹÓû¥³âÁ¿Ö®ÀàµÄ¶ÔÏóÐèÒª·´¸´µ÷ÓÃϵͳÄںˣ¬ÆÚ¼äÐèÒª½øÐнø³ÌÉÏÏÂÎÄת»»ºÍ¿ØÖƼ¶±ðת»»£¬´ó¸ÅÐèÒªºÄ· ......

Delphi¶àÏß³Ìѧϰ£¨7£©£ºÊ¼þEvent

EventʼþÓ÷¨ÓëMutex²î²»¶à£¬µ«Ëü¿ÉÒÔʹÓãºSetEvent£¨Æô¶¯ÔËÐУ©ResetEvent£¨ÔÝÍ£ÔËÐУ©¡¢PulseEvent£¨Ö´ÐÐÒ»´ÎºóÁ¢¼´ÔÝÍ££©¡£
       ÏÈ¿´Ò»Ï´´½¨º¯Êý£ºCreateEvent(
                   ......

ÈçºÎÓà DELPHI »ñÈ¡ CPU µÄÐòÁкÅ

      ÔÚ¶àCPU»ò¶àºËCPUÖУ¬»áËæ»úµÄ»ñµÃ²»Í¬µÄÐòÁкÅ.Õâ¾ÍΪÎÒÃǸù¾ÝCPUÐòÁкÅÀ´ÖÆ×÷×¢²á»ú´øÀ´Á˺ܴóµÄÂé·³¡£
Windows 2000/XPÔÊÐíÉèÖýø³ÌºÍÏ̵߳ĹØÏµ¡£»»¾ä»°Ëµ£¬¿ÉÒÔ¿ØÖÆÄĸö CPU Äܹ»ÔËÐÐijЩÏ̡߳£Õâ³ÆÎªAffinity Mask¡£WindowsÌṩÁËÉèÖÃÏàËÆÐԵĺ¯ÊýSetProcessAffinityMask £¬Ê¹ÓÃËü¿É ......

delphiµ÷ÓÃVC++6µÄDLL

1¡¢±£Ö¤Äã´«µÝµÄ²ÎÊýÒªÕýÈ·£ºC++ÖеÄchar *¶ÔÓ¦PASCALÖеÄpchar¡£
2£ºC++Öе¼³öµÄº¯ÊýµÄ²ÎÊýµ÷Ó÷½Ê½ÒªºÍÄãDELPHIÖеĵ¼ÈëµÄº¯Êý²ÎÊýµ÷Ó÷½Ê½ÒªÒ»ÖÂ!
 ÀýÈ磺    C++µÄ²ÎÊýµ÷Ó÷½Ê½           ¶ÔÓ¦µÄDELPHIµÄ²ÎÊýµ÷Ó÷½Ê½
           _declspec ......

Delphi ÀàµÄѧϰ

Ò»¡¢ÀàÓë¶ÔÏó
1¡¢  Àà(Class)ÊÇÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ
2¡¢  ¶ÔÏó£¨Object£©ÊÇÀà(Class)µÄÒ»¸öʵÀý£¬»òÓÉÀඨÒåÊý¾ÝÀàÐ͵ÄÒ»¸ö±äÁ¿;
3¡¢  ÀàÓÐÒ»ÖÖ״̬£¨ÄÚ²¿Êý¾Ý£©£¬²Ù×÷£¨ÐÐΪ»ò·½·¨£©£¬ÊôÐÔ;
4¡¢  ¶ÔÏóÊÇÒ»¸öʵÌ壬³ÌÐòÔËÐÐʱ»áΪÆäÄÚ²¿±íÏÖ·ÖÅäһЩÄÚ´æ;
5¡¢  ÀàÓë¶ÔÏóÖ®¼äµÄ¹ØÏµºÍ±äÁ¿ÓëÀàÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ