Pipes

Pipes provide a means for interprocess communication. There are two types of pipes:

  • Anonymous pipes.

    Anonymous pipes provide interprocess communication on a local computer. Anonymous pipes require less overhead than named pipes but offer limited services. Anonymous pipes are one-way and cannot be used over a network. They support only a single server instance. Anonymous pipes are useful for communication between threads, or between parent and child processes where the pipe handles can be easily passed to the child process when it is created.

    In the .NET Framework, you implement anonymous pipes by using the AnonymousPipeServerStream and AnonymousPipeClientStream classes.

  • Named pipes.

    Named pipes provide interprocess communication between a pipe server and one or more pipe clients. Named pipes can be one-way or duplex. They support message-based communication and allow multiple clients to connect simultaneously to the server process using the same pipe name. Named pipes also support impersonation, which enables connecting processes to use their own permissions on remote servers.

    In the .NET Framework, you implement named pipes by using the NamedPipeServerStream and NamedPipeClientStream classes.

See Also

Tasks

How to: Use Anonymous Pipes to Communicate Between Local Processes

How to: Use Named Pipes to Communicate Between Processes over a Network

Other Resources

File and Stream I/O