zoukankan      html  css  js  c++  java
  • CreateIoCompletionPort() 函数

     1 /* *********************
     2  * CreateIoCompletionPort() 函数有两个功能:
     3  * 1、创建一个完成端口;
     4  * 2、将一个设备与一个存在的完成端口进行绑定,在网络编程中这个设备就是一个SOCKET。
     5  * ********************* */
     6 
     7 // 1、创建一个完成端口的固定写法:
     8 HANDLE hCompletion = ::CreateIoCompletionPort(
     9     INVALID_HANDLE_VALUE, NULL, NULL, 0);
    10 
    11 // 2、将一个有效的设备(这里只以SOCKET 为例)句柄与有效的完成端口绑定
    12 // 这时有一个参数非常重要,就是第三个参数,这个参数就类似创建线程时的线程参数。
    13 // 可以说完全是一样的,不过这个参数会被函数 
    14 // ::GetQueuedCompletionStatus() 通过参数原样带回。
    15 // 不过这里说的是写网络时,至于其他设备,暂时不了解。
    16 // 为了完全,我们应该在堆内存中申请空间并传送过去。
    17 char *chCompletionKey = new char[1024];
    18 SOCKET sockConn = WSAAccept(sockListen, NULL, NULL, NULL, 0);
    19 ::CreateIoCompletionPort((HANDLE)sockConn, hCompletion, 
    20     (ULONG_PRT)chCompletionKey, 0);
  • 相关阅读:
    第十二周作业
    第十一周作业
    第十一次上机作业
    第十次上机作业
    第九周上机作业
    第八周作业
    第八次上机练习
    第七周作业
    第八周
    第六周作业
  • 原文地址:https://www.cnblogs.com/suyunhong/p/5781177.html
Copyright © 2011-2022 走看看