0

HTML5/JS の 1 ページの AJAX 構成アプリケーションを使用して、ネットワークに接続された組み込みデバイスを作成したいと考えています。

私の問題は、ブラウザが最近開いている接続が多すぎることです。私のデバイスでは、ハードウェアの TCP スタックで同時接続数が最大 4 です (これは組み込みデバイスであることを覚えておいてください)。

4 を超えるソケットを介したリクエストはすべて失われるようです。アプリケーションとキャッシュ要素の組み合わせがブラウザに収まるまで F5 キーを押す必要があります。

私の最初のアイデアは、js ローダー (ファビコンをデータ URL として) をインデックス ドキュメントとして使用することでした。これにより、アプリケーションの残りの部分が 1 つずつ読み込まれます (おそらくプログレス バーも付いていますが、それは贅沢なことです)。

理論的には、これにより、一度に 1 つの接続しか開かれないことが保証されます。

私が見つけたすべてのjsローダーは、クラスター化された負荷分散されたWebサーバー上のブロードバンド環境で並列化して高速化することに関するものですが、Webサーバーを備えた小さな8ビットMCUでのシリアル化と信頼性が必要です.

ヒントや指示をいただければ幸いです。

編集:「ソケット」と「接続」を同じ意味で使用していることをお詫びする必要があります。「接続」を意味し、それに応じて元の投稿を変更しました。

4

1 に答える 1

0

ブラウザーがサーバーに対して行う接続の数を確実に制限する唯一の方法は、ページ内のすべてをロードするために単一の接続のみを要求することです。つまり、すべてがインラインでなければなりません。

<!DOCTYPE html>
<html><head><title>MCU app</title>
<link rel="shortcut icon" href="data:...">
<style>
    /* css here */
</style>
<script>
   // JS here
</script>
</head>
<body>

</body>
</html>

もちろん、<img>タグには気をつけてください。

私が検討するもう 1 つのオプションは、通常の Web サーバーで HTML/JS/CSS/etc をホストし、組み込みデバイスへの API 呼び出しのみを行うことです。

たとえば、ブラウザでmycoolembeddedapp.comを開きます。アプリは組み込みデバイスの IP アドレスを要求し、CORS を使用してその IP に対して AJAX 呼び出しを行うことができます。

于 2012-08-10T18:12:38.750 に答える