2020年10月22日 星期四

[C#]簡單 Pipe 傳輸

 照著課本練習


using System;

using System.IO;

using System.IO.Pipes;


namespace pipe_1

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("Hello World! pipe 1");

            using (NamedPipeServerStream server=new NamedPipeServerStream("demo"))

            {

                server.WaitForConnection();

                try

                {

                    using(StreamReader reader=new StreamReader(server))

                    {

                        string msg = null;

                        while((msg=reader.ReadLine())!=null)

                        {

                            Console.WriteLine($"client:{msg}");

                        }

                    }

                }

                catch

                {

                    Console.WriteLine("error");

                }

             //   Console.WriteLine(" wait exit");

             //   Console.Read();

            }

        }

    }

}

using System;
using System.IO;
using System.IO.Pipes;

namespace pipe_2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World! pipe 2");

             using(NamedPipeClientStream client=new NamedPipeClientStream("demo"))
            {
                client.Connect();

                using(StreamWriter writer=new StreamWriter(client))
                {
                    writer.AutoFlush = true;
                    
                    while(true)
                    {
                        Console.WriteLine("transmiter:");
                        string msg = Console.ReadLine();
                        if(!String.IsNullOrWhiteSpace(msg))
                        {
                            writer.WriteLine(msg);
                        }
                    }
                }
            }
        }
    }
}




沒有留言:

張貼留言