管道为进程间通信提供了一种手段。 有两种类型的管道:
匿名管道。
匿名管道在本地计算机上提供进程间通信。 匿名管道的开销比命名管道少,但提供有限的服务。 匿名管道是单向管道,不能通过网络使用。 它们仅支持单个服务器实例。 匿名管道可用于线程之间的通信,或者在创建子进程时轻松地将管道句柄传递给子进程。
在 .NET 中,使用 AnonymousPipeServerStream 和 AnonymousPipeClientStream 类实现匿名管道。
请参阅 如何:使用匿名管道进行本地进程间通信。
命名管道。
命名管道提供管道服务器与一个或多个管道客户端之间的进程间通信。 命名管道可以是单向的,也可以是双向的。 它们支持基于消息的通信,并允许多个客户端使用同一管道名称同时连接到服务器进程。 命名管道还支持身份模拟,从而使连接进程可以在远程服务端使用自己的权限。
在 .NET 中,使用 NamedPipeServerStream 和 NamedPipeClientStream 类实现命名管道。
请参阅 如何:将命名管道用于网络进程间通信。