C# 需要帮助设计进程间通信层吗

C# 需要帮助设计进程间通信层吗,c#,c++,sockets,communication,pipe,C#,C++,Sockets,Communication,Pipe,我的系统中有几个进程需要相互通信 有些进程需要每秒连续传递60次数据块, 有些是非常零星的 大多数过程都是C,一个是C++。 都在同一台windows 7计算机上运行 现在,每个进程都有自己不同的通信实现管道、事件和套接字。 我希望统一成一个通信层 您将如何实现这一点? 也许是某种以预定接收器为报头的广播? 您会选择什么流程沟通方法? 谢谢 SW我正在使用一个服务在.Net进程与.Net和Java进程之间进行通信。我发现WCF是实现这一目标的一种非常简单的方法。看看MSMQ。它是基于套接字的,速

我的系统中有几个进程需要相互通信

有些进程需要每秒连续传递60次数据块, 有些是非常零星的

大多数过程都是C,一个是C++。 都在同一台windows 7计算机上运行

现在,每个进程都有自己不同的通信实现管道、事件和套接字。 我希望统一成一个通信层

您将如何实现这一点? 也许是某种以预定接收器为报头的广播? 您会选择什么流程沟通方法? 谢谢


SW

我正在使用一个服务在.Net进程与.Net和Java进程之间进行通信。我发现WCF是实现这一目标的一种非常简单的方法。

看看MSMQ。它是基于套接字的,速度非常快。本文介绍如何从C++中使用它:

您也没有提到您的通信是同步的还是异步的?编写器是否必须等待读者的响应?。你有多个作者和读者吗?它是一个恒定的60Hz还是一束一束的,有呼吸空间,读者可以在那里赶上作家


数据库表也可以用作队列,并且具有在系统崩溃时持久化消息的优点。像Sqlite这样的低开销嵌入式引擎非常适合这种情况

我建议使用,它支持远程对象和消息传递。它可以满足您的速率和带宽需求。它也是跨平台的,支持其他语言,仅是C或C++,为其他组件提供了更多的语言选择。

< P>注意到消息中间件解决方案,如WCF和ICE是强大的引擎,提供了可靠消息传递、消息排序控制、分布式多机能力等特性。 它们也相对复杂,可能涉及一定程度的“框架”学习


如果您的应用程序目前工作可靠,那么最好先介绍您为下一个新功能选择的任何消息传递解决方案,并在那里进行验证。然后,如果。。。必要时。

我认为这些不是同一过程的所有实例?如果是这样的话,在他们所交流的数据块中有多少共同点?不,不同的进程做不同的事情。我不理解关于公共性的问题。我问的原因是你谈到了整合到单个层。至少从代码共享的角度来看,所有不同的进程都在互相发送相同类型的信息,然后添加另一层更有意义。它能以60hz的频率处理传递的数据,2。它会用C++来播放吗?我不知道这两个问题。两个.Net进程之间通信的实现可以使用管道进行通信,因此我认为它可以处理thar速率。对于.Net和Java之间的通信,我使用的是TCP/IP,所以我不知道它是否能以这种速率正常工作。关于第二个问题,我认为如果你有一个很好的Web服务库,你就不会有问题。我在.Net和Java之间发送对象,它们被反序列化为XML或从XML中反序列化,没有任何问题。但我没有尝试过C++。