java - ruby 和 java 之间的通信

标签 java ruby

我目前正在为 3D 绘图应用程序编写一个 ruby​​ 插件(用 c++ 编写,ruby 是它的脚本语言)。 我想做的是在该应用程序和另一个用java编写的应用程序之间进行通信,这两个程序都在同一台计算机上运行。 集成到 3D 绘图应用程序中的 ruby​​ 版本相当精简且非常基本,据我所知,套接字库相当有限或不存在。

任何关于如何在两个应用程序之间交换信息的想法将不胜感激。

将交换的信息量相当小。

最佳答案

您的问题可以通过多种方式得到解答。有很多可能的解决方案...

我想到的最简单但相当有效的方法之一是使用 standard input and standard output redirection 在程序之间进行通信(用任何语言编写)。

您的 Java 程序需要执行 Ruby 程序,重定向输入/输出流。我不知道在 Java 中用于此任务的函数,但在 Ruby 中该方法是 IO.popen(command,mode)。

您的 Ruby 程序,以这种方式调用,只需从 STDIN 读取并写入 STDOUT (普通方法 gets可以使用puts)

你还没有说你在什么系统上编程,所以我不确定你的平台是否能够处理这样的重定向,或者 names pipes (这将是第二个简单的解决方案)

关于java - ruby 和 java 之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817220/

相关文章:

ruby - 通过 cURL POST 请求向 Sinatra 发送 JSON

ruby-on-rails - Pundit::NotDefinedError:无法找到策略 `UserPolicy`

ruby-on-rails - 如何跟踪 Ruby on Rails 的部分页面浏览量或分析?

java - 如何创建新文件夹?

java - gwt 开发模式 : code changes dont show up

ruby-on-rails - 无法批量分配 protected 属性错误

ruby - 在炫耀演示中嵌入音频/视频

java - 开发使用 AppEngine 数据库的 Java 应用程序

java - insert into 命令中存在语法错误。输入日期值时可能出现错误

java.math.BigDecimal比较: the same value represented in different formats don't match