0

XMLHttpRequestWeb クライアントが組み込みデバイスのアプリケーションにアクセスする方法として使用する簡単な方法が必要です。XMLHttpRequestsWeb サーバーへの着信を処理し、それらをアプリケーション呼び出しに変換できる、薄くて軽いものを作成する方法を見つけようとして、私は混乱しています。

状況:

  • Ajax (具体的には ExtJS) を使用する Web クライアントは、既存の組み込みアプリケーションに対して非同期で送受信する必要があります。これは、シック クライアント/シン サーバーを使用するためだけのものではありません。クライアントは、アプリケーション ステータスのバックグラウンド チェックを実行する必要があります。
  • アプリケーションは、既知の一連のコマンド、イベント、および構成値を使用して、ソケット インターフェイスを公開できます。構成は、SQLite データベースから取得されるため、おそらく XML として送信される可能性があります。
  • クライアントとアプリの間には、何らかの方法で翻訳を処理する何かを実行する lighttpd Web サーバーがあります。この何かが問題です。

私が欲しいと思うもの:

  • Lighttpd は FastCGI を使用して、すべてXMLHttpRequestを外部プロセスにルーティングできます。このプロセスは HTML/XML を理解し、それとアプリケーションの言語の間で変換します。クライアントへのプッシュ通知をシミュレートするカスタム ロジックがあります (XMLHttpRequest を受信し、次の通知が利用可能になるまで応答しません)。
  • C/C++。Java/PHP/Perl組み込みデバイスへのインストールは避けたいと思います。したがって、より低レベルの理解が必要になります。

どうすればいいですか?

  • CGI ヘッダーと HTML を解釈して、構文処理を行う必要がなく、要求/応答の内容を処理するだけの優れた C++ ライブラリはありますか?
  • XMLHttpRequestおよび CGI インターフェイスを処理するときに、サーバー側で正確に何が行われるかについての適切な参照はありますか?
  • この仕事のほとんどをすでに行っているパッケージはありますか? それとも、HTTP/CGI 以外のものをゼロから構築する必要がありますか?
4

2 に答える 2

0

あなたがソケットを知らなかったという意味ではありません。XML/HTML/Ajax/XmlHttpRequest/Java/PHP/Perl/C++/CGI など、多くの言葉を耳にする問題の説明を取得する方法を提案しました。問題。明確にさせてください:

最終的に組み込みデバイスからデータを取得してブラウザでレンダリングする場合、ブラウザから Web サーバーにリクエストを送信すると、Web サーバーはソケットを使用して組み込みデバイスと通信します。ブラウザとサーバーの間でデータがどのように渡されるか、それは通常の HTTP であり、それ以上でもそれ以下でもありません。HTTPの代わりにソケットを除いて、Webサーバーと組み込みデバイスの間でも同じです。

したがって、単純な問題、たとえば 2 つの数値の加算を行う場合です。ただし、これら 2 つの入力番号が Web サーバーに渡され、Web サーバーが組み込みデバイスに渡され、そこで追加が実行されます。結果は Web サーバーに戻され、レンダリングのためにブラウザーに戻されます。それだけのことができれば、どこでも好きな場所にデータを流すことができます。

データを解析する方法は、ペイロードをラップするコンテナーを含む可能性のあるデータの構造をどのように設計するかによって異なります。

「... サーバーに送られてくる HTTP を使用可能な情報に変換し、適切な HTTP 応答を生成する」

...しかし、それはサーバー側の言語を使用してサーバー上で HTTP リクエストを処理する方法と何ら変わりはありません。

...PHP のようなパッケージをインストールする代わりに、C/C++ でバックエンド プロセスを実装する方法

組み込みデバイスが C/C++ でプログラムされている場合、C/C++ でソケット プログラミングを行う方法を知っている必要があります。Web サーバーでは、そのサーバー側の言語であることを除いて、プログラミングをソケット化する方法も知っている必要があります。

お役に立てれば。

于 2010-05-25T02:46:58.480 に答える
0

私の理解が正しければ、この問題へのアプローチは 3 層になります (私たち全員が聞いたことのある 3 層のバズワードにあまりこだわらないでください)。

  1. ブラウザー上の JavaScript (ExtJs) は、Web サーバー (Lighttpd、Apache など) に対して、HTTP、XmlHttpRequest を使用する Ajax、raw (naked) またはラッパーは実際には関係ありません。
  2. 組み込みデバイス上のアプリはソケットで通信できるため、Web サーバーはソケットを使用して組み込みデバイスと通信します。
  3. JavaScript にビジネス ロジックを追加し、タイムアウトしないように Apache/Lighttpd コードを非常に薄く保つことができます。

このようにして、すでに使い慣れたすべてのテクノロジを活用できます。ティア 1 と 2 の間の Ajax は新しいものではなく、2 と 3 の間でソケットを使用します。

于 2010-05-25T01:37:41.050 に答える