現在、一般的なビュー/ページで次のように動作するWebアプリケーションがあります。
base64
画像の形式で)ajax
リクエストのプールがキューで実行されますこれを写真で説明しましょう:
時々、ユーザーはプレビューのいくつかを変更する何かをします、そしてそれら(そしてそれらだけ)はフロントによって再び要求されなければなりません。この場合、次のようになります。
現時点では、100以上のプレビューが最初に読み込まれるのを待つのに長い時間(30〜50秒)かかる可能性があり、これは非常に面倒です。
実際の質問に入る前に、いくつかの点を述べさせてください:
base64
ペイロードの重量はほとんどありません(いくつかのkb
)http
接続の確立には、実際にはほとんどの時間がかかりますajax
リクエストは約8つまでです。ajax
キューに空きがあるのを待ってから、新しいビューから要素を読み込みます。これは非常に煩わしいことです(新しいビューは空のままになる可能性があります)。何かが起こる前に何秒間も)だから、私の質問は:
socket
を使用すると、接続時間が劇的に改善されるため、初期読み込み時やプレビューで変更があった場合にアプリの応答性が大幅に向上しますか?
このsocket
で交換されるメッセージは非同期になる可能性があるため、100以上のプレビューを同時に要求した場合、それらはすべて非常に迅速にロードされますか?もしそうなら、ソケットには最大数の同時メッセージがありますか?
allフロントが現在待機している同時メッセージは、ユーザーがこのビューを終了して別のビューにアクセスした場合、即座にドロップできますか?または、同時メッセージの制限が事実上ない場合でも問題はありませんか?
前面にEmberJS
を使用し、背面にEmberData
とFlask
を使用しています。
ソケットを使用すると接続時間が劇的に改善されるので、最初の読み込み時やプレビューでの変更の場合にアプリの応答性が大幅に向上しますか?
はい。ソケットはこのために特別に設計されています。
このソケットで交換されるメッセージは非同期なので、同時に100以上のプレビューを要求した場合、それらはすべて非常に迅速にロードされますか?
デザインはおそらく次の形式を取ります:メッセージを受信し、タイルを更新します。部分的または完全なページのリロードを必要としないという意味で非同期です。
ソケットには最大数の同時メッセージがありますか?
1つは、私の知る限り。ただし、シリアルメッセージは非常に迅速に受信できます。
フロントが現在待機しているすべての同時メッセージは、ユーザーがこのビューを終了して別のビューにアクセスした場合、即座にドロップできますか?
ビューが変更されたことを示すメッセージをホストに送信します。それに応じて応答するようにホストをプログラムします。
関連項目
http://socket.io/
http://socket.io/blog/introducing-socket-io-1-0/