Windows 命名管道 + 异步I/O模型
一、管道 + 異步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幫助手冊.總結
以上是生活随笔為你收集整理的Windows 命名管道 + 异步I/O模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL线程共享内存参数
- 下一篇: Windows下一个比较完美的线程池实现