美文网首页
C#命名管道通信

C#命名管道通信

作者: 北风知我意 | 来源:发表于2018-08-24 21:06 被阅读33次

C#命名管道通信

最近项目中要用c#进程间通信,以前常见的方法包括RMI、发消息等。但在Windows下面发消息需要有窗口,我们的程序是一个后台运行程序,发消息不试用。RMI又用的太多了,准备用管道通信来做消息通信。

管道通信以前在大学学过,包括匿名管道和命名管道。匿名管道只能用在父子进程之间;命名管道可以用在两个进程甚至跨服务器通信。这里给出命名管道的示例。

服务器端代码

privatestaticvoidWaitData(){using(NamedPipeServerStream pipeServer =newNamedPipeServerStream("testpipe", PipeDirection.InOut,1))        {try{                pipeServer.WaitForConnection();                pipeServer.ReadMode = PipeTransmissionMode.Byte;using(StreamReader sr =newStreamReader(pipeServer))                {stringcon = sr.ReadToEnd();                    Console.WriteLine(con);                }            }catch(IOException e)            {throwe;            }        }    }

客户端代码

privatestaticvoidSendData(){try{using(NamedPipeClientStream pipeClient =newNamedPipeClientStream("localhost","testpipe", PipeDirection.InOut, PipeOptions.None, TokenImpersonationLevel.None))            {                pipeClient.Connect();using(StreamWriter sw =newStreamWriter(pipeClient))                {                    sw.WriteLine("hahha");                    sw.Flush();                }            }        }catch(Exception ex)        {throwex;        }          }

相关文章

  • C#命名管道通信

    C#命名管道通信 最近项目中要用c#进程间通信,以前常见的方法包括RMI、发消息等。但在Windows下面发消息需...

  • Linux-C-day-3-进程间通信--FIFO/套接字

    FIFIO管道 通过命名管道通信,命名管道之间的通信读和写必须同时执行,否则就会阻塞,但是命名管道可以用于非亲缘进...

  • Linux 进程间通信

    进程间通信 一 进程间通信 -- 管道 mkfifo test 创建管道文件 匿名管道和命名管道:匿名管道:匿名管...

  • 操作系统知识梳理

    (一)进程间的通信方式 管道中还有命名管道和非命名管道之分,非命名管道只能用于父子进程通讯,命名管道可用于非父子进...

  • System V IPC:共享内存

    共享内存原理 特点 相比管道通信,在读写数据的时候不用切内核态,使通信效率提升 相比命名管道,命名管道是内核管理的...

  • 系统编程-文件操作5

    作业 通过无名管道,让两个子进程间完成相互通信工作 命名管道 创建一个命名管道 在命名管道里插入数据 首先在一个终...

  • 命名管道(C#)

    基于消息传输的命名管道: 基于消息的命名管道可以传递不定长的内容,而无需传递内容长度或者结束符,上面非基于消息的传...

  • Linux系统编程:Inter-Process Communic

    一、IPC——进程间通信 Linux系统提供的进程间通信的手段: 消息传递类:信号 匿名管道 命名管道 socke...

  • day05

    通过无名管道,让两个子进程间完成相互通信工作 运行结果: 命名管道和一般的管道基本相同,区别:1,命名管道在文件系...

  • 6.进程间通信

    进程间通信通常有几种方式。 1.管道分为匿名管道、命名管道。匿名管道就是命令行中常用的 xxx | xxx。管道以...

网友评论

      本文标题:C#命名管道通信

      本文链接:https://www.haomeiwen.com/subject/fmwiiftx.html