IOCP 主要函数 整理
来源:互联网 发布:台湾学知出版社在哪 编辑:程序博客网 时间:2024/05/20 20:44
一直想单独写一个在win下的使用IOCP的网络层,鉴于整体的框架没有想好,首先把所用函数和自己的想法整理出来,以便将来使用
BOOL GetQueuedCompletionStatus(
HANDLE CompletionPort,
LPDWORD lpNumberOfBytes,
PULONG_PTR lpCompletionKey,
LPOVERLAPPED *lpOverlapped,
DWORD dwMilliseconds);
CompletionPort:指定的IOCP,该值由CreateIoCompletionPort函数创建 (即创建的iocp句柄)
lpnumberofbytes:一次完成后的I/O操作所传送数据的字节数。 (传递的是整形引用)
lpcompletionkey:当文件I/O操作完成后,用于存放与之关联(一般情况下,我在这里投递一个存放内存的结构体,并标示io操作)
lpoverlapped:为调用IOCP机制所引用的OVERLAPPED结构(这个结构体可在普通结构提的基础上扩展,实现伸缩性,我认为这个结构体存放的即为上下文)
dwmilliseconds:用于指定调用者等待的时间。(一般都不希望等待,所以通常为0)
BOOL PostQueuedCompletionStatus(
HANDLE CompletlonPort,
DW0RD dwNumberOfBytesTrlansferred,
DWORD dwCompletlonKey,
LPOVERLAPPED lpoverlapped,
);
向消息队列传递的信息,可以根据信息的不同设置协议,比如传递PostQueuedCompletionStatus(hCompletionPort, 0, 0, NULL)一般用作关闭套接字
HANDLE CreateIoCompletionPort(
HANDLE FileHandle,
HANDLE ExistingCompletionPort,
ULONG_PTR CompletionKey,
DWORD NumberOfConcurrentThreads
);
在使用时需要注意的只有最后一个参数,他表示需要创建几个工作者线程。
未完待续
- IOCP 主要函数 整理
- zencart v150 主要函数解析整理
- IOCP 系列函数讲解
- windows主要版本整理
- IOCP
- iocp
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- IOCP
- iocp
- IOCP
- iocp
- 游戏引擎基础(二)(3D环境的光照和纹理)
- linux网络编程SO_REUSEADDR
- 动画片
- 图片压缩后,依然很大的解决方案
- 游戏引擎基础(三)(内存使用,特效和API)
- IOCP 主要函数 整理
- 游戏引擎基础(四)(模型与动画,细节级别)
- 推荐《谁叫你读硕博士》
- Visual C++启动另一个可执行程序的方案
- 游戏引擎基础(六)(声音系统,音频APIs)
- 使用linux的几个需要注意的问题(后续增补)
- linux中的优先搜索树的实现--prio_tree
- 获取Launcher 启动列表
- 将多个div设置在一行