【问题标题】:How to estabilish communication between an erlang application & a nodejs server?如何在 erlang 应用程序和 nodejs 服务器之间建立通信?
【发布时间】:2019-02-05 08:22:10
【问题描述】:

我有一个带有 API 的 erlang 应用程序,我需要从 nodejs 服务器调用这些 API 函数并处理响应。例如:Nodejs 向 app 发送数据,app 处理数据然后将其发送回 nodejs,最后由 nodejs 处理结果。

到目前为止,我最好的想法是在 cmd 中将应用程序作为子进程启动,但这真的很难使用,当我查找时,我发现的只是人们建议不要使用 nodejs,但不幸的是这不是一个选项对我来说。

编辑:为了澄清,我的问题是从 nodejs 调用 erlang 函数的最佳方法是什么

【问题讨论】:

    标签: node.js erlang cross-language


    【解决方案1】:

    我不确定我是否完全理解您的要求,但是对于在服务器上运行 nodejs 项目,我强烈建议使用 pm2。 pm2 将管理您的 nodejs 应用程序。见http://pm2.keymetrics.io/

    我不知道您要发送的数据有多大,但如果数据足够大(即处理时间超过 200 毫秒),您可能需要考虑异步处理。

    【讨论】:

    • 对不起,如果我的问题混淆了英语是我的第二语言,数据不是那么大,基本上我想从 nodejs 调用 erlang,所有数据都以 erlang 元组发送。我目前的解决方案是一个始终在后台等待输入的异步 cmd 子进程。
    • 你的问题是如何运行nodejs应用程序或如何从nodejs调用erlang API?
    • 从nodejs调用erlang api
    【解决方案2】:

    我的建议是使用 Erlang 开源 Web 服务器 Cowboy、Mochiweb、Webmachine 之一将 Erlang 应用程序 API 实现为 RESTfull API。在这种情况下,您可以使用 HTTP 客户端从 NodeJs 调用 Erlang API(您可以找到很多用于 Javascript 和 NodeJS 的 HTTP 客户端的实现)。这种方式易于实施和维护。

    没有简单的方法可以从 JavaScript 远程调用 Erlang 函数。 Erlang 只能与 C/C++(Erlang 端口)和 Java(JInterface)应用程序通信。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多