利用命名管道實現程序之間的通訊

2021-08-26 10:46:55 字數 802 閱讀 4366

/*

命名管道不僅可以實現 本地程序之間的通訊還可以實現網路程序的通訊 與油槽不同的是 管道式基於面向連線的可靠的通訊 只能一對一傳輸 資料

我們可以通過

createnamedpipe()建立乙個管道 ,可以指定模式是雙向 即客戶端 和服務端都可以進行讀寫 管道 就跟基於 socket的tcp通訊類似

在服務端呼叫connectnamedpipe()來等待客戶端連線管道 ,不像函式英文名字那樣連線管道 而是等地啊客戶端連線的到來

在客戶端我們需要呼叫 waitnamedpipe()函式來連線管道

在完成以上的工作之後 我們就可以利用 createfile() readfile() writefile()進行程序之間的通訊了

在 油槽 命名管道 磁碟檔案的讀寫 的時候我們都用到了 createfile() readfile() writefile() 一樣的函式 來進行操作*/}

//客戶端

#include

#include "windows.h"

using namespace std ;

void main()

{if(!::waitnamedpipe("\\\\.\\pipe\\path",nmpwait_wait_forever) ) //連線管道

{cout<<"連線管道失敗!"<>buf ;

writefile(h1,(lpvoid)buf,strlen(buf)+1,&len,null) ;

readfile(h1,(lpvoid)buf,100,&len,null) ;

cout<<"伺服器說:"<

VC運用命名管道實現兩個程序之間通訊的流程

vc運用命名管道實現兩個程序之間通訊的流程 1 伺服器端 createnamedpipe,如果在已定義超時值變為零以前,有乙個例項管道可以使用,則建立成功並返回管道控制代碼,以此偵聽來自客戶機的連線請求。2 客戶端 waitnamedpipe,使伺服器程序等待來自客戶的例項連線,如果在超時值變為零以...

程序之間通訊 無名管道

程序之間常用的通訊方式有 1 無名管道 具有親緣關係的父子程序 2 有名管道 任意兩個程序 3 訊號 4 訊息佇列 5 記憶體共享 6 訊號量 一般是程序之間同步的手段,一般配合互斥鎖 條件變數一起使用 7 socket套接字 現在介紹最簡單的無名管道,用到的api函式如下 比較簡單,我們可以定義乙...

程序間通訊(三) 利用命名管道

程序間通訊 三 利用命名管道 程序間通訊的四種方式 1 剪貼簿 2 匿名管道 3 命名管道 4 郵槽 命名管道是通過網路來完成程序間的通訊,它遮蔽了底層的網路協議細節。我們在不了解網路協議的情況下,也可以利用命名管道來實現程序間的通訊。將命名管道作為一種網路程式設計方案時,它實際上建立了乙個客戶機 ...