Named Pipes: Ein praktisches Beispiel für die Kommunikation zwischen Prozessen
Named Pipes bieten eine robuste und effiziente Lösung für die Interprozesskommunikation (IPC). In diesem Beispiel wird anhand einer einfachen Konsolenanwendung demonstriert, wie zwei Programme Nachrichten über Named Pipes austauschen.
Wir erstellen zwei Programme: Programm A, das eine Nachricht sendet, und Programm B, das eine Nachricht empfängt und antwortet.
Programm A: Senden der Nachricht
Programm A verwendet NamedPipeClientStream
von .NET Framework, um eine Verbindung zu einer benannten Pipe namens „PipeLine“ herzustellen. Nach der Verbindung übermittelt es die Nachricht „Hello World“ mit einem StreamWriter
.
Programm B: Empfangen und Antworten
Programm B verwendet NamedPipeServerStream
, um die benannte Pipe „PipeLine“ zu erstellen und zu überwachen. Bei der Verbindung kümmern sich ein StreamReader
und ein StreamWriter
um den Nachrichtenempfang und die Antwort.
<code class="language-csharp">// Program A using (var client = new NamedPipeClientStream("PipeLine")) { client.Connect(); using (var writer = new StreamWriter(client)) { writer.WriteLine("Hello World"); writer.Flush(); } } // Program B using (var server = new NamedPipeServerStream("PipeLine")) { server.WaitForConnection(); using (var reader = new StreamReader(server)) using (var writer = new StreamWriter(server)) { string message = reader.ReadLine(); writer.WriteLine("Roger That"); writer.Flush(); } }</code>
Dies veranschaulicht die Kernprinzipien der Named-Pipe-Kommunikation: Pipe-Erstellung, Verbindungsaufbau und Nachrichtenaustausch. Dieses einfache Beispiel vermittelt ein grundlegendes Verständnis für die Implementierung von IPC-Lösungen in Ihren Projekten.
Das obige ist der detaillierte Inhalt vonWie können Named Pipes eine einfache Kommunikation zwischen Prozessen ermöglichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!