节点服务器GUI前端

时间:2012-09-26 17:23:53

标签: node.js user-interface ipc

嗯,我们都知道无头服务器。实际上,那里的绝大多数服务器可能无头。

像往常一样(看起来),我的情况要求别的。基本上,建议的架构看起来或多或少像:

RTG SA

app服务器(node.js)位于物理连接到两个屏幕的物理计算机上。

在这台机器和网络之间有各种各样的常规网络层。请记住,这种设置的主要原因之一是物理可移植性:即客户端获得必要的硬件作为产品。服务器本身依赖于CDN来获取静态文件等。

每个监视器/屏幕需要显示不同的内容,由同一节点服务器生成

现在这个服务器可能会在Windows上运行,但是给出了一个概念(这是我的问题之后),我可以更改代码以在目标平台上运行。好吧,根据我的代码,这甚至可以自动完成。

所以,我的实际问题。 Node非常灵活,它可以运行任何东西 - 甚至是定制软件(C ++,Delphi,甚至是GM)。只是shell_exec('node server.js')而我们已经离开了。

但屏幕本身需要非常动态。因此节点需要以某种方式影响两个屏幕。我正在考虑的几个选项:

  • 一个自定义应用程序,它创建了两个可调整大小的无特征窗口,其中嵌入式Chrome浏览器由节点服务器以某种方式控制(节点如何对这些浏览器做出反应?)
  • 一个自定义应用程序,根据节点CLI输出,更新两个屏幕的UI。由于我需要一些华而不实的UI,这个应用程序将在类似GameMaker或类似引擎的东西中创建。

PS:以防你问;与网络相对的物理连接(例如,基于Web的GUI前端)按设计

1 个答案:

答案 0 :(得分:6)

我只是将结果/监控屏幕连接成常规HTML页面。在您的节点应用程序中,创建第二个HTTP服务器(在非标准端口上,从公共场所防火墙),为监控页面提供服务。

使用socket.io将实时数据发送到监控页面,这可以使一切看起来很漂亮。在全屏Chrome实例中启动它。

这种方法完全解除了任何类型的平台依赖性,并将监控应用程序与服务器应用程序分离。如果有必要,它可以让你在一个单独的盒子上运行监控应用程序。