我该如何编写一个简单的-最低工作所需的裸机-测试应用程序,以说明如何使用IPC /命名管道?
例如,如何编写一个控制台应用程序,其中程序1向程序2说“ Hello World”,程序2接收消息并向程序1回复“ Roger That”。
using System; using System.IO; using System.IO.Pipes; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { StartServer(); Task.Delay(1000).Wait(); //Client var client = new NamedPipeClientStream("PipesOfPiece"); client.Connect(); StreamReader reader = new StreamReader(client); StreamWriter writer = new StreamWriter(client); while (true) { string input = Console.ReadLine(); if (String.IsNullOrEmpty(input)) break; writer.WriteLine(input); writer.Flush(); Console.WriteLine(reader.ReadLine()); } } static void StartServer() { Task.Factory.StartNew(() => { var server = new NamedPipeServerStream("PipesOfPiece"); server.WaitForConnection(); StreamReader reader = new StreamReader(server); StreamWriter writer = new StreamWriter(server); while (true) { var line = reader.ReadLine(); writer.WriteLine(String.Join("", line.Reverse())); writer.Flush(); } }); } } }