Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c和x2B之间最快的通信方式+;和c#_C#_C++_Wpf_Qt_Networking - Fatal编程技术网

c和x2B之间最快的通信方式+;和c#

c和x2B之间最快的通信方式+;和c#,c#,c++,wpf,qt,networking,C#,C++,Wpf,Qt,Networking,我们正在构建一个新的视觉检测系统应用程序。实际检验系统需要C++是有很多原因的。对于该系统,我们将使用Boost&Qt 对于我们的UI,我们目前正在考虑对UI和基于SQL的报告使用WPF/C。复杂的因素,UI必须在本地运行在同一个框在C++检查系统或远程在另一个盒子,如果检查系统没有监视器或键盘。 我们关心的是,在两个系统之间传输数据的最快方式是什么?我们目前正在研究一个基于套接字的系统,该系统使用Google协议缓冲区进行序列化。协议缓冲区将生成C++和C ^()的代码。p> 有人有任何建议/

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

对于我们的UI,我们目前正在考虑对UI和基于SQL的报告使用WPF/C。复杂的因素,UI必须在本地运行在同一个框在C++检查系统或远程在另一个盒子,如果检查系统没有监视器或键盘。 我们关心的是,在两个系统之间传输数据的最快方式是什么?我们目前正在研究一个基于套接字的系统,该系统使用Google协议缓冲区进行序列化。协议缓冲区将生成C++和C ^()的代码。p>

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

< P>如果你真的在寻找最快的方式来与C++检查系统通信,那么我将实现这两种情况。使用命名管道的本地接口(参见此处)和使用Google协议缓冲区的远程接口,用于检测系统未连接键盘和/或监视器的情况。 然后UI首先尝试在本地框上打开命名管道,如果失败,用户必须输入套接字通信的远程地址


希望对你有点帮助

如果您真的想以最快的速度(至少是成本)使用zeromq,我会考虑使用TCP和protobuf。你有什么特别的担心或问题吗?似乎是.NET的首选protobuf实现。这方面我没有太多经验。我想知道是否有更好的选择。这在很大程度上取决于你需要的互动风格。您的问题并不能说明您希望在两个系统之间进行什么/如何通信。您的应用程序可能受益于消息队列基础结构作为基础;如果遵循RESTful方法,架构决策可能会变得容易得多。这真的取决于你想做什么。如果您所需要的只是原始性能,那么您可以基于套接字和protobuf发明自己的协议,它将起作用。通信单元的频率/数量/规模、可靠性/吞吐量/延迟保证、授权/身份验证/机密性要求、面向消息/服务/资源的体系结构等,谢谢下面是有关SO问题50153的链接,指向命名管道绑定类()。然而,非常有趣的是,从MSDN页面上的一条评论来看,每条消息似乎有一个16k到20k的隐藏限制。这可能会给我们带来一个问题,因为我们确实有一些消息块会比这更大。