我有一个带有 API 的 erlang 应用程序,我需要从 nodejs 服务器调用这些 API 函数并处理响应。例如:Nodejs 向 app 发送数据,app 处理数据然后将其发送回 nodejs,最后 nodejs 处理结果。
到目前为止,我最好的想法是在 cmd 中将应用程序作为子进程启动,但这真的很难使用,当我查找时,我发现的只是人们建议不要使用 nodejs,但不幸的是,这对我来说不是一个选择。
编辑:为了澄清我的问题是从nodejs调用erlang函数的最佳方法是什么
我有一个带有 API 的 erlang 应用程序,我需要从 nodejs 服务器调用这些 API 函数并处理响应。例如:Nodejs 向 app 发送数据,app 处理数据然后将其发送回 nodejs,最后 nodejs 处理结果。
到目前为止,我最好的想法是在 cmd 中将应用程序作为子进程启动,但这真的很难使用,当我查找时,我发现的只是人们建议不要使用 nodejs,但不幸的是,这对我来说不是一个选择。
编辑:为了澄清我的问题是从nodejs调用erlang函数的最佳方法是什么
不确定我是否完全理解您的要求,但对于在服务器上运行 nodejs 项目,我强烈建议使用 pm2。pm2 将管理您的 nodejs 应用程序。见http://pm2.keymetrics.io/
我不知道您发送的数据有多大,但如果数据足够大(即处理时间超过 200 毫秒),您可能需要考虑异步处理它。
我的建议是使用 Erlang 开源 Web 服务器 Cowboy、Mochiweb、Webmachine 之一将 Erlang 应用程序 API 实现为 RESTfull API。在这种情况下,您可以使用 HTTP 客户端从 NodeJs 调用 Erlang API(您可以找到很多用于 Javascript 和 NodeJS 的 HTTP 客户端的实现)。这种方式易于实施和维护。
没有简单的方法可以从 JavaScript 远程调用 Erlang 函数。Erlang 只能与 C/C++(Erlang 端口)和 Java(JInterface)应用程序通信。