命名管道:進程間通訊的實際範例
命名管道為進程間通訊(IPC)提供了強大且有效率的解決方案。此範例使用一個簡單的控制台應用程式來示範兩個程式如何透過命名管道交換訊息。
我們將建立兩個程式:程式 A,用於發送訊息,程式 B,用於接收和回應。
程式A:發送訊息
程式 A 使用 .NET Framework 的 NamedPipeClientStream
連接到名為「PipeLine」的命名管道。 連接後,它使用 StreamWriter
.
方案 B:接收與回應
程式 B 使用 NamedPipeServerStream
建立和監視「PipeLine」命名管道。連接後,StreamReader
和 StreamWriter
處理訊息接收和回應。
<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>
這說明了命名管道通訊的核心原理:管道創建、連接建立和訊息交換。這個簡單的範例提供了在專案中實施 IPC 解決方案的基礎理解。
以上是命名管道如何促進簡單的進程間通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!