zoukankan      html  css  js  c++  java
  • 命名管道进程通信

    命名管道进程通信

    效果: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<<"链接成功
    "<
     
    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
    ";
        else cout<<"open named pipe ok
    ";
    }
    void f_write(char *a){
    	if(WriteFile(hpipe,a,256,&wlen,0)==FALSE){
    		cerr<<"client write error
    ";
    	}
    	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; }

     
    执行效果
  • 相关阅读:
    红外应用
    电池分类及特点
    温湿度传感器AM2302(DH22)
    lora
    跳频扩频技术学习
    STM32F4/F7运算性能
    物联网相关模块
    DC-DC芯片
    外部引用CSS中 link与@import的区别
    超酷实用的jQuery焦点图赏析及源码
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8573052.html
Copyright © 2011-2022 走看看