两个应用程序之间的同步数据交换(一个使用C和其他使用C ++)

时间:2014-06-26 18:45:44

标签: c++ c synchronization data-transfer

我们有两个应用程序:一个使用C / Fortran,另一个使用C ++。

  • 我们希望这两个应用程序最好在没有缓冲区文件的情况下交换数据
  • 我们希望确保两个应用程序之间的同步,因为它们有两个不同的时间步骤。

非常感谢任何有用的想法。

4 个答案:

答案 0 :(得分:1)

最简单的方法是根据您的需要,通过message passing,TCP或UDP使用sockets

How to pass data using sockets in C

答案 1 :(得分:0)

有多种进程间通信方式,请参阅此链接comparison of IPC methods。 这里的选择取决于几个变量,例如:这些应用程序是在不同的机器上运行还是在不同的操作系统上运行,运行速度,可靠性和实施的复杂性。 在这种情况下,我最喜欢的是命名管道,它易于实现且可靠Named Pipes

答案 2 :(得分:0)

我不确定您的操作系统和要求是什么,但如果两个应用程序在同一台Linux计算机上运行,​​您还可以查看 DBUS
另一种方法是使用像gSOAP这样的网络服务。您可以将它与Eclipse一起使用来编辑WSDL,也可以使用SoaMoa来测试Web服务 这两个选项都非常高,因此您不必直接使用套接字和序列化/反序列化。

答案 3 :(得分:0)

对于您的情况,应该非常容易使用zeromq。另外一个好处就是伟大的文档。