Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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,另一个使用C+;+;) 我们有两个应用:一个使用C/FORTRAN,另一个应用C++。 我们希望两个应用程序最好在没有缓冲文件的情况下交换数据 我们希望确保两个应用程序之间的同步,因为它们有两个不同的时间步_C++_C_Synchronization_Data Transfer - Fatal编程技术网

两个应用程序之间的同步数据交换(一个使用C,另一个使用C+;+;) 我们有两个应用:一个使用C/FORTRAN,另一个应用C++。 我们希望两个应用程序最好在没有缓冲文件的情况下交换数据 我们希望确保两个应用程序之间的同步,因为它们有两个不同的时间步

两个应用程序之间的同步数据交换(一个使用C,另一个使用C+;+;) 我们有两个应用:一个使用C/FORTRAN,另一个应用C++。 我们希望两个应用程序最好在没有缓冲文件的情况下交换数据 我们希望确保两个应用程序之间的同步,因为它们有两个不同的时间步,c++,c,synchronization,data-transfer,C++,C,Synchronization,Data Transfer,非常感谢任何有用的想法。最简单的方法是根据您的需要使用via、TCP或UDP 进程间通信有几种方式,请参见此链接。 这里的选择取决于几个变量,例如:这些应用程序是在不同的机器上运行还是在同一台机器上运行,它们在不同的操作系统上运行,速度有多快,可靠性有多高,以及实现的复杂性。 在这种情况下,我最喜欢的是命名管道,它易于实现且可靠:我不确定您的操作系统和要求是什么,但如果两个应用程序都在同一台Linux机器上运行,您也可以查看DBUS。 另一种方法是使用Web服务,如。您可以将它与Eclipse一

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

最简单的方法是根据您的需要使用via、TCP或UDP


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

我不确定您的操作系统和要求是什么,但如果两个应用程序都在同一台Linux机器上运行,您也可以查看DBUS。
另一种方法是使用Web服务,如。您可以将它与Eclipse一起使用来编辑WSDL,也可以使用SoaMoa来测试Web服务。

这两个选项都是相当高的级别,所以您不必直接使用套接字和序列化/反序列化

对于您的情况,应该非常容易使用的是zeromq。另外,还有一个优点是文档的质量很好。

Microsoft的Exchange Server是正确的标签吗?不,因为这是关于数据交换,而不是电子邮件。那么同步呢?如何将一个应用程序的时间步长锁定为另一个应用程序的时间步长,这两个应用程序实际上是两个不同的模拟器。感谢tvlada的响应,其中一个模拟器必须在Windows上运行,因此当前平台是两个应用程序的Windows(在同一台机器上),@user3780226我知道现在你们有了模拟器,我想性能对它们来说是至关重要的。也许其他类型的IPC会在这里有所帮助,就像其他人已经建议的那样。gSOAP在Windows中运行良好,但我不确定它在性能方面的表现如何。对于同步问题:为什么不让一个模拟器成为主模拟器,并实现某种“心跳”信息,使从模拟器跟随主步骤?