嗯,我们都知道无头服务器。实际上,那里的绝大多数服务器可能无头。
像往常一样(看起来),我的情况要求别的。基本上,建议的架构看起来或多或少像:
app服务器(node.js)位于物理连接到两个屏幕的物理计算机上。
在这台机器和网络之间有各种各样的常规网络层。请记住,这种设置的主要原因之一是物理可移植性:即客户端获得必要的硬件作为产品。服务器本身依赖于CDN来获取静态文件等。
每个监视器/屏幕需要显示不同的内容,由同一节点服务器生成。
现在这个服务器可能会在Windows上运行,但是给出了一个概念(这是我的问题之后),我可以更改代码以在目标平台上运行。好吧,根据我的代码,这甚至可以自动完成。
所以,我的实际问题。 Node非常灵活,它可以运行任何东西 - 甚至是定制软件(C ++,Delphi,甚至是GM)。只是shell_exec('node server.js')
而我们已经离开了。
但屏幕本身需要非常动态。因此节点需要以某种方式影响两个屏幕。我正在考虑的几个选项:
PS:以防你问;与网络相对的物理连接(例如,基于Web的GUI前端)按设计。
答案 0 :(得分:6)
我只是将结果/监控屏幕连接成常规HTML页面。在您的节点应用程序中,创建第二个HTTP服务器(在非标准端口上,从公共场所防火墙),为监控页面提供服务。
使用socket.io将实时数据发送到监控页面,这可以使一切看起来很漂亮。在全屏Chrome实例中启动它。
这种方法完全解除了任何类型的平台依赖性,并将监控应用程序与服务器应用程序分离。如果有必要,它可以让你在一个单独的盒子上运行监控应用程序。