Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Paip Dinamakan Boleh Memudahkan Komunikasi Antara Proses dalam Aplikasi Konsol C# Mudah?

Bagaimanakah Paip Dinamakan Boleh Memudahkan Komunikasi Antara Proses dalam Aplikasi Konsol C# Mudah?

Susan Sarandon
Lepaskan: 2025-01-14 12:46:48
asal
623 orang telah melayarinya

How Can Named Pipes Facilitate Inter-Process Communication in a Simple C# Console Application?

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan