IOCP,完成端口,是一种成熟的高效的服务端程序的通讯 I/O模型。首先搞明白该完成端口所需要用到的一些API函数。
1、HANDLE CreateIoCompletionPort(
HANDLE FileHandle,
HANDLE ExistingCompletionPort,
ULONG_PTR CompletionKey,
DWORD NumberOfConcurrentThreads
);
1. 用于创建一个完成端口对象。
2. 将一个句柄同完成端口关联到一起。
当作为第一种作用的时候,函数只关心 NumberOfConcurrentThreads 参数.该参数的意义是,指定该完成端口最多可以有多少个线程访问它,如果参数是0,表明系统安装了多少个处理器,我们就同时运行多少个线程。在该用法下,其他的三个参数都会被忽略,可以用以下的语句进行创建一个完成端口:
hIOCP = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);
hIOCP就是通过这个API创建的一个 完成端口对象的句柄。