命名管道如何在Windows中运行?

时间:2016-12-29 10:32:32

标签: c++ operating-system pipe ipc

我正在挖掘Windows中的IPC机制,并试图了解它在内部是如何工作的。到了管道(命名管道),到目前为止我没有找到任何具体的答案。

由于文件映射使用文件(内部)来共享数据,并且文件的地址被映射到每个进程地址,因为指针和进程可以使用指针来读/写文件。

以类似的方式,有人可以帮助我了解管道内部是如何工作的吗?谁拥有管道服务器和管道客户端之间的数据?

1 个答案:

答案 0 :(得分:1)

数据在内部内核缓冲区中存储和管理,在关闭管道的所有句柄时释放。它可以在通信过程中扩展和缩小。此外,由于跨网络的通信能力,服务器和客户端上的缓冲区很少。更多关于你可以阅读Russinovich的 Windows Internals (遗憾的是不能确切地说到哪里阅读)。