æ¥ä¸æ¥ççå®æ端å£ï¼Completion Ports ï¼
å
¶å®å¯ä»¥æå®æ端å£çæç³»ç»ç»´æ¤çä¸ä¸ªéåï¼æä½ç³»ç»æéå IOæä½å®æçäºä»¶éç¥æ¾å°è¯¥éåéï¼ç±äºæ¯æ´é² âæä½å®æâçäºä»¶éç¥ï¼æ以å½å为âå®æ端å£âï¼Completion Portsï¼ãä¸ä¸ªsocket被å建åï¼å¯ä»¥å¨ä»»ä½æ¶å»åä¸ä¸ªå®æ端å£è系起æ¥ã
ä¸è¬æ¥è¯´ï¼ä¸ä¸ªåºç¨ç¨åºå¯ä»¥å建å¤ä¸ªå·¥ä½çº¿ç¨æ¥å¤çå®æ端å£ä¸çéç¥äºä»¶ãå·¥ä½çº¿ç¨çæ°éä¾èµäºç¨åºçå
·ä½éè¦ãä½æ¯å¨çæ³çæ
åµä¸ï¼åºè¯¥å¯¹åºä¸ä¸ªCPUå建ä¸ä¸ªçº¿ç¨ãå 为å¨å®æ端å£çæ³æ¨¡åä¸ï¼æ¯ä¸ªçº¿ç¨é½å¯ä»¥ä»ç³»ç»è·å¾ä¸ä¸ªâååâæ§çæ¶é´çï¼è½®çªè¿è¡å¹¶æ£æ¥å®æ端å£ï¼çº¿ç¨çåæ¢æ¯é¢å¤çå¼éãå¨å®é
å¼åçæ¶åï¼è¿è¦èèè¿äºçº¿ç¨æ¯å¦çµæ¶å°å
¶ä»å µå¡æä½çæ
åµãå¦ææ线ç¨è¿è¡å µå¡æä½ï¼ç³»ç»åå°å
¶æèµ·ï¼è®©å«ç线ç¨è·å¾è¿è¡æ¶é´ãå æ¤ï¼å¦ææè¿æ ·çæ
åµï¼å¯ä»¥å¤å建å 个线ç¨æ¥å°½éå©ç¨æ¶é´ã
æ»ä¹ï¼å¼åä¸ä¸ªå¯æ©å±çWinsockæå¡å¨å¹¶éååå°é¾çã主è¦æ¯å¼å§ä¸ä¸ªçå¬socket,æ¥æ¶è¿æ¥ï¼å¹¶ä¸è¿è¡éå åéåæ¥æ¶çIOæä½ãæ大çææå°±æ¯ç®¡çç³»ç»èµæºï¼éå¶éå Ioçæ°éï¼é¿å
å
åå±æºãéµå¾ªè¿å 个ååï¼å°±è½å¸®å©ä½ å¼åé«æ§è½ï¼å¯æ©å±çæå¡ç¨åºã
socketçæ¥æ¶ç¼å²ï¼å 为æ¥æ¶äºä»¶ä»
ä»
å¨AcceptExè°ç¨ä¸åçãä¿è¯æ¯ä¸ªsocketé½æä¸ä¸ªæ¥æ¶ç¼å²ä¸ä¼é æä»ä¹å±å®³ãä¸æ¦å®¢æ·ç«¯/æå¡å¨å¨æåçä¸æ¬¡è¯·æ±ï¼ç±AcceptExå®æï¼ä¹åè¿è¡äº¤äºï¼åéæ´å¤çæ°æ®ï¼é£ä¹åæ¶æ¥æ¶ç¼å²æ´æ¯ä¸ä¸ªå¾ä¸å¥½çåæ³ãé¤éä½ è½ä¿è¯è¿äºæ°æ®é½æ¯å¨æ¯ä¸ªè¿æ¥çéå IOæ¥æ¶éå®æç ã
å左转|åå³è½¬