通常、リアルタイムWebアプリはWebSocketで構築されていますよね?
さて、ここで急進的にさせてください-私がAjaxを使用した場合はどうなりますか?
さて、さて、私はそれがその制限があることを知っています。 Agar.ioを構築して、ミリ秒単位のレイテンシで1秒あたり最大50回データパケットを送信することはできません。
しかし、リアルタイムの更新が少し少ないアプリについてはどうでしょうか。たぶん、数秒で通知を受け取るのか、それともターン制のゲームですか?
たとえば、数秒ごとにAjax.post()を使用して、たとえばPHPスクリプトから更新を受信し、SQLデータベースから情報を取得することはできますか?どちらのRTSゲームとは対照的に、または、ページが開いている間ではなく、ページが読み込まれるときに情報が読み込まれるStackexchangeモデル。
では、このモデルの使用に問題はありますか?クライアントのコンピューターに遅れが出るのでしょうか、それとも問題が発生するのでしょうか。
一般に、AJAX=リクエストに関連するオーバーヘッドは高くなります。Ajaxリクエストに1Kの転送オーバーヘッドがある場合、1つのリクエストで50バイトを送信すると、実際のデータの転送が効率は約5%です。
Ajaxリクエストは通常、RESTfulリソースに対して行われます。ソケット通信は永続的な接続であり、リアルタイムのダッシュボードスタイルの更新に適しています。
Stack Exchangeは、 カスタムソケットライブラリ を使用して、編集通知、コメントの追加、投票集計の変更など、ページの更新をリアルタイムで送信します。