在浏览器中查看运行的应用程序输出,如何?

时间:2015-01-28 09:34:58

标签: java c# python ide desktop-application

我有一个简单的云IDE,我希望能够远程构建和运行应用程序,目标应用程序的源文件将位于隔离虚拟机的远程服务器中(例如Windows 8.1,或Ubuntu 14.04)。构建该应用程序并不难,但如何运行它并查看其输出给用户?

如果它是桌面应用程序(假设它是用C#或Java或Python编写的)会怎样?

注意:用户只能使用浏览器访问应用程序(例如Firefox,Chrome,...)

编辑:桌面应用程序可能包含GUI内容,而不仅仅是控制台;)

2 个答案:

答案 0 :(得分:1)

你需要一个web应用程序。现在这个web应用程序在加载时向后端代码发送请求代码,后端代码将SSH连接到远程机器并从特定位置读取文件。现在读取流将作为响应发送回来并显示在基于Web的UI。在这些类型的应用中,很少有人认为重要。

1)如果您一次整个文件就好了,那么向用户显示该内容需要花费一些时间。一次读取大约100行的信息,当用户向下滚动然后再次向Web服务器发送请求以读取下一个100通过这种方式,您可以减少响应时间和更好的用户体验。

答案 1 :(得分:0)

您提到的每种语言都提供某种Web服务框架。选择一个,并实现a)启动你的应用程序,b)显示输出。根据处理时间(完成所需的时间),您甚至可以只使用一个。

您可以选择独立的独立服务:

或者,您可以为您的应用程序使用容器(服务器),例如Apache mod_mono或IIS for C#,Tomcat,Jetty,Jboss for Java,Apache with mod_wsgi for Python(仅举例)。

Web服务可能位于远程计算机上,因此它可以使用系统调用(“命令行”)来运行您的核心应用程序,然后它将通过http发送结果。由于您提到了GUI,因此解决方案可能会有更多层:

  1. GUI - 静态HTML,桌面应用,向第二层发送请求,表示显示参数1和-2的下拉列表
  2. Web服务 - 从请求中获取参数,例如http://remote.machine.land/start/app?parameter1=X&parameter2=Y,运行本地命令,如/home/users/myapp.sh -parameter1=X -parameter2=Y
  3. 应用程序本身 - 不一定知道任何互联网。
  4. 通过这种方式,您可以随时更改/增强任何部分,以编程方式调用2.层,引入负载平衡等。 3.