我正在研究开发一种可以与各种语言(Python,C,C#,LabVIEW)连接的解决方案,在这里我可以向解决方案发送数据或从解决方案发送数据。 它与FlexRIO系统连接,使用FPGA可以尽快处理大量数据。 解决方案本身可以用C或LabVIEW编写(我的限制是我有软件明智的选项来与FlexRIO驱动程序连接)。
该软件将接受将被预定义的命令(例如RESET:ALL),但数据的大小可能非常大(如1000万个字符的数组)。
例如,我可以用Python编写代码来向这个软件发送命令并获取信息。
关于如何发送此数据,我有哪些选项? 我在想TCP / IP,但我不知道我可能有的速度和内存限制。 两个软件也将在同一台计算机上。
答案 0 :(得分:3)
我处理过类似的问题。您可以使用的解决方案之一是:
另一方反过来做同样的事。
我使用protobuf,lz4和WCF pipes,它们可以很好地处理频繁的小型消息,但会使用您的数据对其进行测试。
在您的情况下,写入文件并从文件中读取可能会更快。
答案 1 :(得分:1)
管道是一种方式,它们在您提到的所有语言上都受支持。它是一块共享内存,但API意味着它就像文件或流一样,取决于语言。
一个程序写入其中,另一个程序从中读取,因此就像TCP / IP连接一样,但开销较小。
如果您对此很聪明,那么您的大多数代码都不会知道它使用的流的类型。然后,如果您需要更改机制,则很少会影响您的代码。
答案 2 :(得分:1)
您可以使用任何数据交换格式来接收应用程序
所以你可以毫无阻碍地进行交流
答案 3 :(得分:0)