Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Paip Dinamakan Memudahkan Komunikasi Antara Proses dalam Aplikasi Konsol C#?
Aplikasi Konsol C#: Komunikasi Antara Proses dengan Paip Dinamakan
Paip bernama menyediakan kaedah yang mantap dan cekap untuk komunikasi antara proses (IPC). Contoh ini menunjukkan aplikasi konsol C# menggunakan paip bernama untuk bertukar-tukar mesej antara dua proses.
Struktur Aplikasi
Kami akan membina dua aplikasi konsol: Aplikasi A dan Aplikasi B. Aplikasi A memulakan komunikasi, menghantar mesej kepada Aplikasi B, yang bertindak balas sewajarnya.
Pelayan (Aplikasi B)
NamedPipeServerStream
.WaitForConnection
.StreamReader
dan StreamWriter
wujudkan saluran komunikasi untuk membaca dan menulis mesej.Contoh Kod Pelayan:
<code class="language-csharp">Task.Factory.StartNew(() => { using (var server = new NamedPipeServerStream("MyPipe")) { server.WaitForConnection(); using (var reader = new StreamReader(server)) using (var writer = new StreamWriter(server)) { while (true) { string message = reader.ReadLine(); if (string.IsNullOrEmpty(message)) break; //Handle potential termination string reversedMessage = new string(message.Reverse().ToArray()); writer.WriteLine(reversedMessage); writer.Flush(); } } } });</code>
Pelanggan (Aplikasi A)
NamedPipeClientStream
.Contoh Kod Pelanggan:
<code class="language-csharp">using (var client = new NamedPipeClientStream(".", "MyPipe", PipeDirection.InOut)) { client.Connect(); using (var reader = new StreamReader(client)) using (var writer = new StreamWriter(client)) { while (true) { Console.WriteLine("Enter message (or leave blank to exit):"); string input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; writer.WriteLine(input); writer.Flush(); Console.WriteLine($"Received: {reader.ReadLine()}"); } } }</code>
Proses Komunikasi
Aplikasi A bersambung ke pelayan paip bernama yang dimulakan oleh Aplikasi B. Mesej ditukar melalui saluran masing-masing. Sebagai contoh, jika Aplikasi A menghantar "Hello World", Aplikasi B membalikkannya kepada "dlroW olleH" dan menghantarnya kembali. Aplikasi A memaparkan mesej terbalik ini. Gelung berterusan sehingga Aplikasi A menghantar mesej kosong untuk menandakan penamatan.
Atas ialah kandungan terperinci Bagaimanakah Paip Dinamakan Memudahkan Komunikasi Antara Proses dalam Aplikasi Konsol C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!