Eine einfache Konsolenanwendung zur Demonstration von Named Pipe IPC
Named Pipes bieten eine robuste Methode für die Interprozesskommunikation (IPC) auf einem einzelnen Computer. Dieses Beispiel veranschaulicht eine einfache IPC-Verbindung mithilfe benannter Pipes.
Programm 1 fungiert als Absender der Nachricht, während Programm 2 die Nachricht empfängt. Programm 1 sendet „Hello World“ und Programm 2 antwortet mit „Roger That.“
Server (Programm 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>
Kunde (Programm 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>
Zum Ausführen: Starten Sie zuerst ServerApp.exe
und führen Sie dann ClientApp.exe
aus. Dies demonstriert die Grundprinzipien der Verwendung benannter Pipes für die einfache Kommunikation zwischen Prozessen. Denken Sie daran, pipeName
bei Bedarf anzupassen.
Das obige ist der detaillierte Inhalt vonWie können Named Pipes die Kommunikation zwischen Prozessen in einer einfachen Konsolenanwendung erleichtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!