如何从 Windows 上的 C# 桌面程序远程调用 Linux 服务器上的 MATLAB 软件?



我在Windows上编写C#桌面程序,在Linux服务器上编写一些matlab程序。我该如何实现 — 使用 C# 程序选择本地数据,然后将数据传输到 matlab 程序。在linux服务器上处理完数据后,结果会发送到C#桌面程序吗? 答 请求

我会从尝试以下"食谱"开始。首先确保您对服务器具有 ssh 访问权限。

  1. 将数据从 C# 保存到 Matlab 友好格式的文件,我建议使用二进制文件,但文本文件也可以。
  2. 使用某些 scp 客户端(如 WinSCP)将数据复制到服务器。这可以从 C# 使用Process类发送命令行执行命令来完成。
  3. 使用一些SSH库从C#向Matlab程序发送远程调用(我不熟悉C#,但我相信这是可能的)。您可能会发现 Matlab 启动选项-r很有用,可以启动 Matlab 并调用脚本。
  4. 确保 Matlab 代码将结果保存到磁盘。
  5. 要将结果返回本地计算机,您可以使用scp再次从远程服务器复制它,最简单的方法是尝试在循环中复制它,直到复制成功,尝试之间有一些暂停,以及时间上限(以防服务器端出现问题, 你不想永远等)。如果你想让它不那么"脏",你可以在远程和本地机器之间建立 tcp 客户端-服务器连接,并在文件准备好复制后让远程机器发送消息。如果不是太多数据,您甚至可以通过 tcp 获取数据,而不是保存到文件。

最新更新