パイプ

更新 : 2007 年 11 月

パイプは、プロセス間通信を行うための手段を提供します。次の 2 種類のパイプがあります。

  • 匿名パイプ

    匿名パイプは、ローカル コンピュータでのプロセス間通信を実現します。匿名パイプは、名前付きパイプと比較してオーバーヘッドは小さくなりますが、提供するサービスも限定されます。匿名パイプは一方向であり、ネットワーク経由では使用できません。1 つのサーバー インスタンスのみをサポートします。匿名パイプは、スレッド間または親子のプロセス間での通信に有用です。親子のプロセス間の通信では、子プロセスが作成されたときに、パイプ ハンドルを子プロセスに簡単に渡すことができます。

    .NET Framework では、AnonymousPipeServerStream クラスおよび AnonymousPipeClientStream クラスを使用して、匿名パイプを実装します。

  • 名前付きパイプ

    名前付きパイプは、パイプ サーバーと 1 つ以上のパイプ クライアントとの間でのプロセス間通信を提供します。名前付きパイプでは、一方向または双方向のパイプを使用できます。メッセージ ベースの通信をサポートし、複数のクライアントが同じパイプ名を使用してサーバーに対して同時に接続できます。名前付きパイプは、偽装もサポートしています。偽装を使用すると、プロセス間接続において、リモート サーバー上で独自のアクセス許可を使用できます。

    .NET Framework では、NamedPipeServerStream クラスと NamedPipeClientStream クラスを使用して、名前付きパイプを実装します。

参照

処理手順

方法 : 匿名パイプを使用してローカル プロセス間の通信を行う

方法 : ネットワーク経由のプロセス間で通信する名前付きパイプを使用する

その他の技術情報

ファイルおよびストリーム入出力