0

我有几个数学 dll,其中一些用于 x64 平台,一些用于 x86。我还需要与几个 COM 接口(特别是 64 位版本的 Matlab 和 STATISTICA)进行通信。因此,为了解决混合 dll 的问题,我将我的软件分成 3 个独立的程序 - 其中 2 个是 32 位和 1 个 - 64 位。所有程序都必须相互通信并连接到相互 SQL 数据库。此外,有可能一个程序将在客户端计算机上运行,​​而另一个程序将在服务器计算机上运行。

连接流程的最佳技术(就性能而言)是什么?我需要真正快速地将数据数组从 x86 程序发送到 x64,执行计算并将它们发回。事实上,使用网络的能力并不重要。

我只是没有太多时间对不同的方法(管道、WCF 等)进行基准测试,而是想专注于研究一种技术。

4

1 回答 1

0

在非托管代码中,COM 可用于此目的(查找进程外服务器,即本地服务器)。COM 在内部使用 RPC,但比 RPC 更方便,因为客户端使用对象就好像它们在客户端进程自己的地址空间中一样(而它们在服务器进程的地址空间中)。COM也可以用来跨电脑通信,查DCOM。

.NET 中也有类似的东西,WCF 就是其中之一,但我不确定它们的效率如何。特别是 WCF 似乎使用基于文本的协议,这可能不如 COM 的 RPC 有效。

于 2012-09-18T08:44:08.997 回答