我有一个简单的云IDE,我希望能够远程构建和运行应用程序,目标应用程序的源文件将位于隔离虚拟机的远程服务器中(例如Windows 8.1,或Ubuntu 14.04)。构建该应用程序并不难,但如何运行它并查看其输出给用户?
如果它是桌面应用程序(假设它是用C#或Java或Python编写的)会怎样?
注意:用户只能使用浏览器访问应用程序(例如Firefox,Chrome,...)
编辑:桌面应用程序可能包含GUI内容,而不仅仅是控制台;)
答案 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,因此解决方案可能会有更多层:
http://remote.machine.land/start/app?parameter1=X¶meter2=Y
,运行本地命令,如/home/users/myapp.sh -parameter1=X -parameter2=Y
通过这种方式,您可以随时更改/增强任何部分,以编程方式调用2.层,引入负载平衡等。 3.