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(
Ïà¹ØÎĵµ£º
ÐźÅÁ¿Êǽ¨Á¢ÔÚ»¥³âÁ¿µÄ»ù´¡Ö®ÉÏ£¬Í¬Ê±¼ÓÈëÖØÒªÌØÐÔ£ºÌṩÁË×ÊÔ´¼ÆÊý¹¦ÄÜ£¬Òò´ËÔ¤¶¨ÒåÊýÁ¿µÄÏß³Ìͬʱ¿ÉÒÔ½øÈëͬ²½µÄ´úÂë¿éÖС£
ÐźÅÁ¿ÊÇά»¤0µ½Ö¸¶¨×î´óÖµÖ®¼äµÄ¼ÆÊýÆ÷µÄͬ²½¶ÔÏ󣬵±Ïß³ÌÍê³ÉÒ»´ÎÐźÅÁ¿µÄµÈ´ýʱ£¬¼ÆÊýÆ÷×Ô¼õ1£¬µ±Ïß³ÌÊÍ·ÅÐźÅÁ¿¶ÔÏóʱ£¬¼ÆÊýÆ÷×ÔÔö1¡£
......
============================================================================
Windows95ÊÇMicrosoft¹«Ë¾µÄµÚÒ»¸öÕæÕýµÄ¶àÈÎÎñ²Ù×÷ϵͳ¡£ÔÚÿһʱ¿Ì¿ÉÒÔÓжà¸ö½ø³Ìͬʱ¹¤×÷£¬¶øÃ¿Ò»¸ö½ø³ÌÓÖ°üº¬Óжà¸öÏ̡߳£µ«Ö»ÓÐÒ»¸ö´¦ÀíÆ÷µÄ¼ÆËã»ú²»¿ÉÄÜÕæÕýµØ“ͬʱ”Ö´Ðжà¸öỊ̈߳¬¶øÊDzÙ×÷ϵͳ°Ñʱ¼ä·Ö³ÉÈô¸É¸öʱ¼äƬ£¬ ......
ÔÚ¶àCPU»ò¶àºËCPUÖУ¬»áËæ»úµÄ»ñµÃ²»Í¬µÄÐòÁкÅ.Õâ¾ÍΪÎÒÃǸù¾ÝCPUÐòÁкÅÀ´ÖÆ×÷×¢²á»ú´øÀ´Á˺ܴóµÄÂé·³¡£
Windows 2000/XPÔÊÐíÉèÖýø³ÌºÍÏ̵߳ĹØÏµ¡£»»¾ä»°Ëµ£¬¿ÉÒÔ¿ØÖÆÄĸö CPU Äܹ»ÔËÐÐijЩÏ̡߳£Õâ³ÆÎªAffinity Mask¡£WindowsÌṩÁËÉèÖÃÏàËÆÐԵĺ¯ÊýSetProcessAffinityMask £¬Ê¹ÓÃËü¿É ......
1¡¢±£Ö¤Äã´«µÝµÄ²ÎÊýÒªÕýÈ·£ºC++ÖеÄchar *¶ÔÓ¦PASCALÖеÄpchar¡£
2£ºC++Öе¼³öµÄº¯ÊýµÄ²ÎÊýµ÷Ó÷½Ê½ÒªºÍÄãDELPHIÖеĵ¼ÈëµÄº¯Êý²ÎÊýµ÷Ó÷½Ê½ÒªÒ»ÖÂ!
ÀýÈ磺 C++µÄ²ÎÊýµ÷Ó÷½Ê½ ¶ÔÓ¦µÄDELPHIµÄ²ÎÊýµ÷Ó÷½Ê½
_declspec ......
C#µÄToolTip£¨delphi½ÐHint£©»úÖÆ·Ç³£¹Ö£¬²»ÊÇÏñdelphiµÄÔª¼þÒ»Ñù£¬Ã¿¸öTControlÓÐÒ»¸öHintÊôÐÔ£¬C#ÓÐÒ»¸öToolTipÔª¼þ£¬µ±°ÑÕâ¸öÔª¼þ´Ó¹¤¾ßÏäÀµ½formÉϺó£¬Ñ¡ÖÐformÉϵÄÈκÎcontrolÔª¼þ£¬ÔÚÊôÐÔ´°Ì壨Object Inspector£©ÉϾͻá¶à³öÒ»¸öÊôÐÔ“toolTip1ÉϵÄToolTip”£¬Èç¹û¶àÀ¼¸¸ ......