【发布时间】:2013-04-05 16:53:28
【问题描述】:
我有一个用 C# 编写的程序,它从第三方服务器接收数据并将其处理成一系列整数(它们正在快速流式传输)。该程序是用 C# 编写的,因为第三方提供了用于处理数据的类,但仅在 C# 中提供它们。我想获取这些整数并在 Java 程序中以流的方式使用它们(因此,一旦它们被 C# 程序流式处理和处理,我想在 Java 程序中使用整数)。第二个程序是用 Java 编写的,因为另一个第三方只用 Java 提供他们的类(这是必需的)。所以我的猜测是要么-
- 寻找在 Java 中运行 C# 类的程序,然后将处理传入数据的 C# 类直接包含到我的 Java 程序中 [这似乎不太有希望 - 我似乎无法获得 jni4net,这是建议在其他帖子中工作]
或
- 用 C# 编写另一个程序,将正在处理的整数保存到特定的内存位置。编译程序。然后从 Java 源代码中运行可执行文件,并在 Java 代码中编写某种回调,当特定内存位置的整数发生更改时,该回调会拾取并记录这些新数字是什么[不知道如何开始! ]
对于最不痛苦的方法,有人有什么建议吗?
【问题讨论】:
-
为什么需要这样做?是否有某种超出您控制范围的要求迫使您使用 2 种不同的语言,或者这两种应用程序或多或少已经存在?
-
只需在 java 和 C# 应用程序之间创建一个命名管道。听起来最适合您的情况。在一般情况下,只需查找“进程间通信”即可。程序之间有许多与语言无关的通信方式。
-
@ConradClark 套接字可能不是最简单的方法,尽管它是一种可能的选择。
-
Sam - 不幸的是,我对使用这两种语言别无选择,我正在尝试处理需要专门在 Java 和 C# 中编译的类的数据。感谢你们的回复 - 由于我不熟悉 IPC,因此可能需要一些时间来查看您的建议,但一旦找到可行的解决方案,我会报告!
标签: java c# executable code-translation