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

时间:2017-03-27 02:06:14

标签: c# linux matlab remote-access matlab-deployment

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

1 个答案:

答案 0 :(得分:1)

我首先尝试以下配方'。首先确保您具有对服务器的ssh访问权限。

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