示範命名管道 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中文網其他相關文章!