4

ええと、私たちは皆、ヘッドレス サーバーについて知っています。実際、世の中に出回っているサーバーの大部分はおそらくヘッドレスです。

いつものように (どうやら)、私の状況はまったく別のことを求めていました。基本的に、提案されたアーキテクチャは多かれ少なかれ次のようになります。

RTG SA

アプリ サーバー (node.js) は、2 つの画面に物理的に接続された物理マシン上にあります。

このマシンと「ネット」の間には、あらゆる種類の通常のネットワーク層があります。このセットアップの主な理由の 1 つは物理的な移植性であることに注意してください。つまり、クライアントは製品として必要なハードウェアを取得します。サーバー自体は、静的ファイルなどを CDN に依存しています。

各モニター/画面は、同じノードサーバーによって生成された、異なるものを表示する必要があります。

今のところ、このサーバーはおそらく Windows で実行されますが、概念 (これが私の質問の目的です) があれば、ターゲット プラットフォームで実行するようにコードを変更できます。私のコードによっては、これを自動的に行うこともできます。

だから、私の実際の質問。Node は非常に柔軟で、カスタムメイドのソフトウェア (C++、Delphi、さらには GM) でさえも実行できます。さっさとshell_exec('node server.js')出発だ。

ただし、画面自体は非常に動的である必要があります。したがって、ノードは何らかの方法で両方の画面に影響を与える必要があります。私が検討しているいくつかのオプション:

  • サイズ変更可能で機能のない 2 つのウィンドウを作成し、クロム ブラウザーが埋め込まれてノード サーバーによって制御されるカスタム アプリ (ノードはこれらのブラウザーにどのように反応しますか?)
  • ノード CLI 出力に従って、2 つの画面の UI を更新するカスタム アプリ。UIとして派手なものが必要なので、このアプリはGameMakerなどのエンジンで作成します。

PS:念のため、お尋ねします。ネットワーク 1 (例: Web ベースの GUI フロントエンド) とは反対の物理接続は、設計によるものです

4

1 に答える 1

6

結果/監視画面を通常の HTML ページとして接続するだけです。Node アプリで、監視ページを提供する 2 つ目の HTTP サーバーを (パブリックからファイアウォールで保護された非標準ポート上に) 作成します。

socket.io を使用してリアルタイム データを監視ページに送信すると、すべてがきれいに表示されます。Chrome のフルスクリーン インスタンスで起動します。

このアプローチにより、あらゆる種類のプラットフォームの依存関係から完全に解放され、監視アプリがサーバー アプリから切り離されます。必要に応じて、監視アプリを別のボックスで実行する自由があります.

于 2012-09-26T17:54:42.577 に答える