2012-05-02 7 views
0

C#には、ディスクファイルを使用して実装されているパイプがあれば知っていますか?
ファイルを別のプロセスに転送する必要があります。ファイルを使用して実装されたパイプがあればいいと思います。
この通信では、ファイルを保存している「プロデューサ」が存在し、他の「コンシューマ」はそれを他のサーバーに複製しています。コンシューマがネットワーク上でファイルを複製している間に、ファイル(プロデューサ)を保存するプロセスをブロックしたくありません。

パイプを使用すると、C#に名前付きパイプと無名パイプがあることがわかりましたが、メモリ上でのみ動作するようです。

ご協力いただきありがとうございます。C#でファイルパイプの実装がありますか?

+0

2つのプロセス間でNetworkStreamを使用できないのはなぜですか? –

+0

@DavidAnderson他のプロセスからのデータを処理している間に、ファイルをディスクに保存しているスレッドをブロックしたくありません。第2のプロセス(消費者)は最初のプロセス(プロデューサ)よりも遅くなるため、プロデューサをブロックします。私は質問に私がそれを編集することを忘れたと思う。ありがとう – marspzb

答えて

0

私はファイルベースのパイプについて聞いたことがありませんが、File-mappingを使用することはできますが、それはあなたがしたいことに合わないようです。プロセス間の単純なIPC(名前付きパイプ)(ファイル書き込み完了メッセージ送信)は、ファイル書き込みと並行して、はるかに簡単です。

関連する問題