.NET のパイプ操作Pipe Operations in .NET

パイプは、プロセス間通信の手段となります。Pipes provide a means for interprocess communication. パイプには、2 種類あります。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. これでは、1 つのサーバー インスタンスのみをサポートしています。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.

    .NET では、AnonymousPipeServerStream クラスと AnonymousPipeClientStream クラスを使用して匿名パイプを実装します。In .NET, you implement anonymous pipes by using the AnonymousPipeServerStream and AnonymousPipeClientStream classes.

    方法: ローカルのプロセス間通信で匿名パイプを使用する」を参照してください。See How to: Use Anonymous Pipes for Local Interprocess Communication.

  • 名前付きパイプ。Named pipes.

    名前付きパイプは、パイプ サーバーと 1 つ以上のパイプ クライアントとの間でのプロセス間通信を提供します。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.

    .NET では、NamedPipeServerStream クラスと NamedPipeClientStream クラスを使用して名前付きパイプを実装します。In .NET, you implement named pipes by using the NamedPipeServerStream and NamedPipeClientStream classes.

    方法: ネットワークのプロセス間通信で名前付きパイプを使用する」を参照してください。See How to: Use Named Pipes for Network Interprocess Communication.

参照See also