相关疑难解决方法(0)

创建命名管道C++ Windows

我试图在C++(Windows)中的两个进程之间创建一个简单的通信,如linux中的FIFO.这是我的服务器:

int main()
{
    HANDLE pipe = CreateFile(TEXT("\\\\.\\pipe\\Pipe"), GENERIC_READ, 0, NULL, OPEN_EXISTING,    FILE_FLAG_OVERLAPPED, NULL);
    ConnectNamedPipe(pipe, NULL);
    while(TRUE){
        string data;
        DWORD numRead =1 ;
        ReadFile(pipe, &data, 1024, &numRead, NULL);
        cout << data << endl;

}
    CloseHandle(pipe);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的客户:

int main()
{
    HANDLE pipe = CreateFile(TEXT("\\\\.\\pipe\\Pipe"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
    ConnectNamedPipe(pipe, NULL);
    string message = "TEST";
    DWORD numWritten;
    WriteFile(pipe, message.c_str(), message.length(), &numWritten, NULL);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

代码不起作用,如何将其修复为FIFO?

ipc fifo c++11

21
推荐指数
1
解决办法
6万
查看次数

标签 统计

c++11 ×1

fifo ×1

ipc ×1