【问题标题】:How does the named pipe works in windows? [closed]命名管道如何在 Windows 中工作? [关闭]
【发布时间】:2017-05-13 16:04:18
【问题描述】:

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

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

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

【问题讨论】:

  • 这是命名管道上的MSDN documentation
  • 感谢 Raw N。我已经浏览了这个链接,它解释了 API 以及如何使用 Pipes,但我正在寻找它的内部程序。
  • 我无法理解这个问题,内核管理数据并将其保存到其他人会读取它。就像常规文件系统一样,文件是一个完全抽象的对象。

标签: c++ operating-system pipe ipc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多