ʹÓÃDelphi±àдÆåÅÆÀàÓÎÏ· »ù´¡Æª(2)
¶ÔÓÚÍøÂçÓÎÏ·À´Ëµ£¬ËüºÍµ¥»ú°æÓÎÏ·×î´óµÄÇø±ð¾ÍÔÚÓÚÍøÂçͨÐŲ¿·Ö¡£¿ÉÒÔ˵£¬ÍøÂçͨÐÅÊǹ¹³ÉÍøÓεÄ×î»ù±¾ÔªËØ¡£ÔÚÕâÀïÎÒ²»ÏëÏêϸµÄÂÛÊöÈçºÎʹÓÃDELPHIÔÚWINDOWSϽøÐÐÍøÂç±à³Ì£¬ÒòΪÕâÊÇÒ»¸ö·Ç³£¸´ÔӵϰÌâ¡£ÕâÀïÎÒÖ»ÊÇÏë˵Ã÷ÔÚÎÒÉè¼ÆµÄÆåÅÆÀàÓÎÏ·ÖÐÈçºÎʵÏÖÓÎÏ·ÍøÂ粿·ÖµÄ¡£
¶ÔÓÚWINDOWSÀ´Ëµ£¬ËüµÄͨÐÅÄ£ÐÍ´ó¸Å·ÖΪ5ÖÖ¡£·Ö±ðÊÇ£º
1£ºSELECTÄ£ÐÍ¡£
2£ºWSAAsynSelectÄ£ÐÍ¡£
3£ºWSAEventSelectÄ£ÐÍ¡£
4£ºIOÖØµþÄ£ÐÍ
5£ºÍê³É¶Ë¿ÚÄ£ÐÍ¡£
¶ÔÓÚÐÔÄÜÀ´Ëµ£¬Íê³É¶Ë¿Ú¿ÉÒÔ¹ÜÀíÉÏÍòÁ¬½Ó£¨ÀíÂÛÁ¬½ÓÊýÁ¿¿ÉÒÔ´ïµ½65535¸ö£©£¬ËùÒÔÎÒÑ¡ÔñËüÀ´×÷ΪÎÒÓÎÏ··þÎñÆ÷µÄͨÐÅÄ£ÐÍ¡£
ÓÉÓÚÓÎÏ·¿Í»§¶ËºÍÓÎÏ··þÎñÆ÷µÄÁ¬½ÓÖ»ÐèÒªÒ»Ìõ¾Í¿ÉÒÔ£¬ËùÒÔÎÒÑ¡ÔñÁËSelectÄ£ÐÍ×÷Ϊ¿Í»§¶ËͨÐÅÄ£ÐÍ¡£
¹ØÓÚÈçºÎ±àдÍê³É¶Ë¿ÚÒÔ¼°ÔÚÍê³É¶Ë¿ÚÖÐÈçºÎ¼ÓÈëÐÄÌø£¬ÈçºÎ±ÜÃâÍøÂçͨÐÅÖеÄÕ³°üÏÖÏóÔÚÎÒÒÔǰµÄBLOGÖÐÒѾÓÐÁËÏêϸµÄ½²½â£¬ÓÉÓÚÆª·ùÌ«¶à£¬ÎÒÕâÀï¾Í²»ÔÚ½«ÆäÌù³ö¡£ÏêϸµÄ¿ÉÒԲο´ÎÒµÄBLOG ¡¶DELPHIÖÐÍê³É¶Ë¿Ú(IOCP)µÄ¼òµ¥·ÖÎö£¨1£©¡·-¡¶ DELPHIÖÐÍê³É¶Ë¿Ú(IOCP)µÄ¼òµ¥·ÖÎö£¨4£©¡·ºÍ¡¶ÍøÂçͨÐÅÖеÄÐÄÌø»úÖÆµÄʵÏÖ£¡¡·
µ«ÊÇÔÚÎÒ×î½üÖØÐ¼ì²é´úÂëµÄʱºò·¢ÏÖÎÒÒÔǰ¹ØÓÚIOCPµÄһЩ´¦Àí·½Ê½²»ºÏÊÊ»òÕßÓÐЩµØ·½ÊÇ´íÎóµÄ£¬ÎÒÒѾÔÚÒÔǰµÄBLOGÌû×ÓÖÐ×öÁËÏà¹ØµÄÐ޸ġ£
ÔÚÕâÀïÎÒÃÇÌÖÂÛÒ»ÏÂÈçºÎʵÏÖ¿Í»§¶ËͨÐÅÄ£ÐÍ(SelectÄ£ÐÍ)¡£¶ÔÓÚÊìÏ¤ÍøÂç±à³ÌµÄ³ÌÐòÔ±À´Ëµ£¬±àдһ¸öSELECTͨÐÅÄ£ÐÍÊÇÒ»¼þºÜ¼òµ¥µÄÊ£¬ÒòΪËüÊÇ5ÖÐͨÐÅÄ£ÐÍÖÐ×î¼òµ¥µÄÒ»ÖÖ¡£
±àдselectÄ£Ð͵ĴúÂëÈçÏ£º
Var
Fsocket£ºTsokcet;
procedure Star;
var
CliAddrIn:TSockAddrIn;
hThread:THandle;
ThreadID,outByte:DWORD;
keep_alive,out_keep_alive:TTimeVal;
iAddrSize,opt,I:Integer;
begin
//¼ÓÔØSOCKET,ÎÒʹÓõÄÊÇ2.2°æÎªÁ˺óÃæ·½±ã¼ÓÈëÐÄÌø
if WSAStartUp($202, wsData) <> 0 then
begin
WSACleanup();
end;
//´´½¨Ò»¸öÌ×½Ó×Ö
Fsocket:=socket(AF_INET,SOCK_STREAM,0);
if Fsocket =SOCKET_ERROR then
begin
closesocket(Fsocket);
end
else
begin
//ÕâÀïÌîÈëʵ¼ÊµÄ·þÎñÆ÷IPµØÖ·ºÍ·þÎñÆ÷¼àÌý¶Ë¿Ú
CliAddrIn.sin_addr.s_addr:=inet_addr(Pchar(‘127.0.0.1’));
Ïà¹ØÎĵµ£º
ÓÐÒ»¶Îʱ¼äûÕý¾µÄÓÃdelphiÁË£¬Ç°Á½ÌìÏÂÔØÁËDelphi2010£¬ÓÃËüÀ´ÕÒÕÒDelphiµÄ¸Ð¾õ£¬°ÑдµÄһЩ¶«Î÷¹²Ïí³öÀ´£¬´ó¼Ò¹²Í¬Ñ§Ï°Ò»Ï£¬ºÇºÇ¡£
ÎÒÏë×öÒ»¸ö˫ɫÇòµÄ·ÖÎöÈí¼þ£¬ÒÔÏÂÊÇÆäÖÐʵÏֵIJ¿·ÖÀàµÄµ¥ÔªÎļþ£¬ÆäËûÎļþºóÐøÒ»µãÒ»µãµÄ²¹Æë£¬Óв»Í׵ĵط½£¬Ï£Íû´ó¼ÒÖ¸Õý£¬Ð»Ð»À²£¡
ÔÚʹÓÃDelphi2010ÊÇ£¬·¢ÏÖ¸öÎÊÌ⣬ÔÚÓÃshowº¯Êý ......
DirectoryExists('C:\WINDOWS'):Boolean;¼ì²âÎļþ¼ÐÊÇ·ñ´æÔÚ£¡
FileExists('c:\Dir.txt'):Boolean;¼ì²âÎļþÊÇ·ñ´æÔÚ£¡
EDIT×é¼þ
OnChange µ±±à¼¿òÖеÄÄÚÈÝ·¢Éú±ä»¯Ê±´¥·¢¸Ãʼþ
OnKeyPress µ±°´ÏÂÒ»¸ö°´¼üʱ£¬´¥·¢¸Ãʼþ
OnEnter ±à¼¿ò»ñµÃÊäÈë½¹µãʱ£¬´¥·¢¸Ãʼþ
MEMO×éºÏ
WordWrap ÓÃÓÚÉ趨Momo×é¼þÊÇ·ñ¾ßÓÐ×Ô¶ ......
Delphiͨ¹ýÏòµ¼¿ÉÒԷdz£Ñ¸Ëٺͷ½±ãµÄÖ±½Ó½¨Á¢ÊµÏÖCOM¶ÔÏóµÄ´úÂ룬µ«ÊÇÕû¸öCOMʵÏֵĹý³Ì±»ÍêÈ«µÄ·â×°£¬ÉõÖÁûÓÐVCLÄÇô½á¹¹ÇåÎú¿É¼û¡£Ò»¸öûÓÐC++ÏÂCOM¿ª·¢¾ÑéÉõÖÁûÓнӴ¥¹ýCOM¿ª·¢µÄDelphi³ÌÐòÔ±£¬Ò²Äܹ»ºÜÈÝÒ׵İ´Õս̳ÌÉè¼ÆÒ»¸ö½Ó¿Ú£¬µ«ÊÇ£¬¿ÖÅÂÉîÈëÒ»Ï룬Á¬Éú³ÉµÄ´úÂë´ú±íºÎÖÖÒâÒ壬ÄÄЩÄܹ»¶¨Öƶ¼²»Çå³þ¡£Ç°¼¸ÆÚ &ld ......