在c ++和c#之间进行通信的最快方式

时间:2010-10-08 02:15:26

标签: c# c++ wpf qt networking

我们正在构建一个新的视觉检测系统应用程序。由于多种原因,实际的检查系统需要是c ++。对于该系统,我们将使用Boost& Qt的。

对于我们的UI,我们目前正在考虑将WPF / C#用于基于UI和SQL的报告。如果检查系统没有监视器或键盘,UI必须在与c ++检查系统相同的盒子上本地运行或在另一个盒子上远程运行的复杂因素。

我们关注的是在两个系统之间传输数据的最快方法是什么?我们目前正在研究使用Google协议缓冲区进行序列化的基于套接字的系统。协议缓冲区将生成c ++和c#(jskeet/dotnet-protobufs)的代码。

有没有人有任何建议/经验?

2 个答案:

答案 0 :(得分:1)

如果您真的在寻找与c ++检查系统进行通信的最快方式,那么我会实现这两种情况。使用命名管道的本地接口(请参阅此处Interprocess communication for Windows in C# (.NET 2.0))和使用Google协议缓冲区的远程接口,用于检查系统未连接键盘和/或监视器的情况。 然后UI首先尝试在本地框上打开命名管道,如果失败,则用户必须输入远程地址进行套接字通信。

希望有所帮助...

答案 1 :(得分:0)

如果你真的想要最快的成本,我会看zeromq