Aplikasi Konsol C# Mudah Menunjukkan Paip Bernama
Paip bernama menawarkan kaedah yang mantap untuk komunikasi antara proses (IPC) dalam satu sistem. Contoh ini mempamerkan aplikasi konsol C# asas di mana dua proses bertukar-tukar mesej menggunakan paip bernama.
Struktur Aplikasi
Aplikasi ini terdiri daripada dua program: satu memulakan komunikasi dengan menghantar mesej kepada yang kedua, yang kemudian bertindak balas. Kedua-duanya berjalan serentak untuk pertukaran mesej berterusan.
Pelaksanaan Kod
Kod C# berikut menunjukkan pelaksanaan:
<code class="language-csharp">using System; using System.IO; using System.IO.Pipes; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleAppIPC { class Program { static void Main(string[] args) { // Initiate the server process StartServer(); Task.Delay(1000).Wait(); // Brief delay to ensure server is ready // Client-side connection and communication using (var client = new NamedPipeClientStream("PipesOfPiece")) { client.Connect(); using (var reader = new StreamReader(client)) using (var 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(() => { using (var server = new NamedPipeServerStream("PipesOfPiece")) { server.WaitForConnection(); using (var reader = new StreamReader(server)) using (var writer = new StreamWriter(server)) { while (true) { string line = reader.ReadLine(); writer.WriteLine(string.Join("", line.Reverse())); writer.Flush(); } } } }); } } }</code>
Aliran Operasi
Pelanggan menyambung ke paip bernama "PipesOfPiece", mewujudkan sambungan dengan pelayan. Mesej dihantar melalui StreamWriter
dan diterima menggunakan StreamReader
. Dalam contoh ini, pelayan membalikkan mesej yang diterima sebelum menghantarnya kembali kepada klien, menggambarkan corak komunikasi yang mudah. Pelanggan kemudiannya memaparkan mesej terbalik.
Atas ialah kandungan terperinci Bagaimanakah Paip Dinamakan Boleh Memudahkan Komunikasi Antara Proses dalam Aplikasi Konsol C# Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!