0

Nowhere is this mentioned in the docs, is the name we use for creating a message_queue a named pipe on Windows? Suppose a C# application creates a NamedPipeServerStream with name "MyPipe". Can a C++ application do IPC with it if a message_queue uses the same name "MyPipe"? Is this behaviour the same for all platforms? I used message_queue in my implementation because there's no cross platform named pipe solution in C++ afaik. Will closing the NamedPipeServerStream have the same effect as message_queue::remove?

demberto
  • 489
  • 5
  • 15
  • I think if a _named pipe_ or a different OS mechanism for IPC is used, is an implementation detail. – πάντα ῥεῖ Dec 18 '21 at 14:47
  • If you want to use Windows named pipes from C++, you can also call the [Win32 C API](https://learn.microsoft.com/en-us/windows/win32/ipc/named-pipes) directly. – rveerd Dec 18 '21 at 15:33
  • 1
    @rveerd I don't want to mess around with Win32 api, heck I am using boost::dll for loading libraries. I want cross platform compatibility – demberto Dec 18 '21 at 15:53
  • There are [boost::process::pipe](https://www.boost.org/doc/libs/1_78_0/doc/html/process/reference.html#header.boost.process.pipe_hpp) and [boost::process:assync_pipe](https://www.boost.org/doc/libs/1_78_0/doc/html/boost/process/async_pipe.html) – dewaffled Dec 18 '21 at 16:38

0 Answers0