命名管道进程通信
2018-03-15 13:19
369 查看
命名管道进程通信
效果:server读取client发送的字符串。server:
// named-pipe-server.cpp #include #include using namespace std; char buf[100]; HANDLE hpipe; DWORD rlen=0,wlen=0; void f_create(){ hpipe=CreateNamedPipe("\\\\.\\pipe\\me",PIPE_ACCESS_DUPLEX , PIPE_TYPE_MESSAGE|PIPE_WAIT ,PIPE_UNLIMITED_INSTANCES,0,0,0,NULL); if(ConnectNamedPipe(hpipe, 0)==FALSE){//等待客户端链接 cerr<<"链接成功\n"<
client:
//named-pipe-client.cpp #include #include #include using namespace std; char buf[100]; HANDLE hpipe; DWORD rlen=0,wlen=0; void f_connect(){ WaitNamedPipe("\\\\.\\pipe\\me",NMPWAIT_WAIT_FOREVER);//等待连接 hpipe=CreateFile("\\\\.\\pipe\\me", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);//打开管道 if(hpipe==INVALID_HANDLE_VALUE) cerr<<"open named pipe error\n"; else cout<<"open named pipe ok\n"; } void f_write(char *a){ if(WriteFile(hpipe,a,256,&wlen,0)==FALSE){ cerr<<"client write error\n"; } else{ cout<<"client write ok. context is:"<
control:
//通过编程实现先开启server。再打开 client。 #include #include using namespace std; int main(int argc, char *argv[]) { system("start named-pipe-server.exe");//start 不能漏 Sleep(1000); system("start named-pipe-client.exe"); return 0; }
执行效果
相关文章推荐
- 进程间命名管道通信示例
- [ZZ]使用命名管道通过网络在进程之间进行通信
- delphi 与 C++ 进程之间的命名管道通信
- 【进程通信】——命名管道
- Linux(八):进程通信IPC(二)之命名管道
- 命名管道跨进程通信实例1(转)
- 命名管道(FIFO) Linux进程进程间的通信之命名管道(FIFO)
- 进程间的通信(二):命名管道 和 油槽
- C++和C#进程间通过命名管道来通信(附源码)—上
- C++和C#进程间通过命名管道来通信(附源码)—上
- 命名管道进程通信
- unity3D 命名管道 进程通信
- 使用命名管道通过网络在进程之间进行通信
- C++和C#进程之间通过命名管道通信(附源码)—下
- 利用命名管道实现进程之间的通信 .........
- UNIX:在进程间利用命名管道通信
- 服务器serverbuffergcc数据结构Linux进程通信:命名管道FIFO小结
- 采用虚拟命名管道的字符设备和阻塞型I/O实现进程间的通信实现KWIC程序
- 利用命名管道实现进程之间的通信 .........
- linux进程通信之命名管道