C# 命名管道通信

命名管道(NamedPipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道。不同于匿名管道的是:命名管道可以在不相关的进程之间和不同计算机之间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打开管道的另一端,根据给定的权限和服务器进程通信。命名管道提供了相对简单的编程接口,使通过网络传输数据并不比同一计算机上两进程之间通信更困难,不过如果要同时和多个进程通信它就力不从心了。

最近做项目需要在C++和C#程序之间进行通信,查了好多资料,本来觉得挺复杂,其实弄明白之后很简单。C++与C#都是Windows平台的,进行管道通信其实都是调用系统API只不过都是封装好了的,两者之间写的通信都是相通的,只要创建的管道名相同即可。比如用C++创建出服务端C++Sever和客户端C++Cliet,他们之间可以直接收发消息,同时C#创建出服务端C#Sever和客户端C#Cliet可以相互发消息。都实现之后,用C++Sever和C#Client组合或者C++Client和C#Sever组合使用基本是没有问题的,可能传输时有字符编码问题,可以调试解决。以下是我写的C#服务端和客户端的两个控制台程序。

服务端:

class Program
    {
        static void Main(string[] args)
        {
            WaitData();
        }
        private 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值