名前付きパイプ IPC をデモする単純なコンソール アプリケーション
名前付きパイプは、単一マシン上でプロセス間通信 (IPC) のための堅牢な方法を提供します。この例は、名前付きパイプを使用した基本的な IPC 接続を示しています。
プログラム 1 はメッセージ送信者として機能し、プログラム 2 はメッセージを受信します。 プログラム 1 は「Hello World」を送信し、プログラム 2 は「Roger That」で応答します。
サーバー (プログラム 2):
<code class="language-csharp">using System; using System.IO.Pipes; namespace ServerApp { class Program { static void Main(string[] args) { string pipeName = "MyPipe"; // Named pipe identifier using (var server = new NamedPipeServerStream(pipeName)) { server.WaitForConnection(); Console.WriteLine("Client connected."); using (var reader = new StreamReader(server)) using (var writer = new StreamWriter(server)) { string message = reader.ReadLine(); Console.WriteLine($"Received: {message}"); writer.WriteLine("Roger That"); writer.Flush(); } } } } }</code>
クライアント (プログラム 1):
<code class="language-csharp">using System; using System.IO.Pipes; namespace ClientApp { class Program { static void Main(string[] args) { string pipeName = "MyPipe"; // Must match server's pipe name using (var client = new NamedPipeClientStream(pipeName)) { client.Connect(); Console.WriteLine("Connected to server."); using (var reader = new StreamReader(client)) using (var writer = new StreamWriter(client)) { writer.WriteLine("Hello World"); writer.Flush(); Console.WriteLine("Sent: Hello World"); string response = reader.ReadLine(); Console.WriteLine($"Received: {response}"); } } } } }</code>
を実行するには: まず ServerApp.exe
を起動し、次に ClientApp.exe
を実行します。これは、単純なプロセス間通信に名前付きパイプを使用する基本原則を示しています。 必要に応じて pipeName
を忘れずに調整してください。
以上が名前付きパイプは、単純なコンソール アプリケーションでのプロセス間通信をどのように促進できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。