您当前的位置: 首页 >  windows

phymat.nico

暂无认证

  • 1浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Windows 命名管道 + 异步I/O模型

phymat.nico 发布时间:2015-01-28 11:24:26 ,浏览量:1

一、管道 + 异步I/O 本地通讯模型 1、客户端操作 发送请求                                                              (1) 互斥上锁 CreateMutex, WaitForSingleObject                     (2) 打开命名管道 OpenNamedPipe                                    (3) 等待管道是否可用 WaitNamedPipe                                (4) 创建管道写事件 CreateEvent                                    (5) 往管道异步写数据 WriteFile                                    (6) 创建管道读事件 CreateEvent                                    (7) 从管道读取数据 ReadFile                                       (8) 关闭管道 CloseHandle(hPipe)                                   (9) 互斥解锁 CloseHandle(hMutex) / ReleaseMutex(hMutex)      

2、服务段操作                                           (0) 创建命名管道 CreateNamedPipe                (1) 创建管道连接事件 CreateEvent                 (2) 连接命名管道 ConnectNamedPipe 由管道连接事件判断是否有客户端连接到来                (3) 创建管道读事件 CreateEvent                   (4) 从管道读取数据 ReadFile                      (5) 创建管道写事件 CreateEvent                   (6) 往管道写数据 WriteFile                       (7) 刷新写缓冲数据 FlushFileBuffers              (8) 断开管道连接   DisconnectNamedPipe

二、附录 1、互斥加锁 打开互斥锁:OpenMutex(MUTEX_ALL_ACCESS, FALSE, name) 创建互斥锁:CreateMutex(NULL, TRUE, name); 互斥上锁  :WaitForSingleObject(mutex, INFINITE); 互斥解锁  :CloseHandle(hMutex) 释放互斥锁:ReleaseMutex

2、管道操作 创建命名管道    :CreateNamedPipe 等待管道是否可用: WaitNamedPipe 管道写操作      : WriteFile 管道读操作      : ReadFile 命名管道连接    :ConnectNamedPipe 命名管道断开连接:DisconnectNamedPipe 命名管道关闭    : CloseHandle

3、事件操作 创建事件:CreateEvent 等待事件:WaitForSingleObject 设置事件: SetEvent 重置事件:ResetEvent 关闭事件:CloseHandle

具体内容可以参考MSDN帮助手册.
关注
打赏
1659628745
查看更多评论
立即登录/注册

微信扫码登录

0.0458s