将 Android 应用程序与服务器上的 Matlab 应用程序连接

2024-05-03

我正在 Android 上开发一个应用程序,它将获取图像输入,并将该输入传递到安装 MATLAB 应用程序的服务器。 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序。

我想知道我可以使用哪个服务器? 如何将 MATLAB 应用程序安装到该服务器?


首先,您需要一个 Web 应用程序服务器来接收来自 Android 应用程序的内容。您可以使用任何您喜欢的东西,但是您选择的任何一个都可能会影响您部署 MATLAB 应用程序的方式。

为此,您有三个选择。

  1. 只需在服务器上安装 MATLAB 的副本即可。让您的 Web 应用程序将图像写入某个目录,让 MATLAB 循环监视该目录,当它看到文件时,执行其操作,写出结果,然后继续监视该目录。让您的 Web 应用程序监视输出目录并将结果返回给用户。您需要一种命名文件的方法,以确保正确的输出与正确的输入相匹配。

请注意,此选项 1 受到 MATLAB 许可证性质的严格限制。您只能向获得该 MATLAB 副本许可的用户提供访问权限,因此,如果您希望公开提供 Android 应用程序/服务,那么它不太可能是您的正确选择。

  1. 使用 MATLAB Builder NE for .NET 或 MATLAB Builder JA for Java 将 MATLAB 应用程序转换并打包为 .NET 程序集或 Java 类。 (如果您选择了 Microsoft Web 应用程序服务器,请选择第一个,如果是另一个堆栈,您可能需要第二个)。然后让您的 Web 应用程序调用该组件,向其传递图像数据并直接检索结果。

使用 Builder 产品部署的组件可以在最终用户不需要 MATLAB 许可证的情况下使用和共享,从而解决了选项 1 的主要问题。请注意,Builder 产品是 MATLAB 的(有些昂贵)附加产品。

选项 2 的问题是可扩展性。那里只有一个 MATLAB 组件,所有请求都会排队等待通过。如果您只有一些不频繁的用户请求,这可能没问题,否则您将需要运行组件的多个副本的池,并且需要编写一些代码来管理该池并将请求传递给组件。

你可以自己做(这可能很难),或者你可以去找

  1. 使用 MATLAB 生产服务器。这基本上需要使用上述 Builder 产品之一部署的组件,并为您进行池管理,直接与 Web 应用程序服务器通信。这是另一种附加产品(稍微贵一些)。

我的建议是,除非您希望部署一个可以通过选项 1 正确许可的私有应用程序,否则我会选择选项 2 开始,看看效果如何,然后考虑是否可以使用选项 3 进行扩展。

请注意,还有另一种选择:

  1. 根本不要将 MATLAB 应用程序部署到服务器。相反,使用 MATLAB Coder(同样是一个附加产品,但比 Builders 或生产服务器便宜)将您的应用程序转换为 C 代码。然后将 C 代码直接合并到您的 Android 应用程序中,以便在设备本身上运行。这可能更容易部署,而且速度明显更快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Android 应用程序与服务器上的 Matlab 应用程序连接 的相关文章

随机推荐