2

フラスコを使用して Web サイトを構築しており、クライアントにプッシュしたいと考えています。real-time-events-pythonをフォロー したところ、ウェブサイトを作成できました。

私が気づいたことの 1 つは、Javascript コンソールにアクセスするときに 500 ミリ秒ごとに GET があることです。そのため、javascript の EventSource が実際にサーバーに定期的に GET を送信して、更新があるかどうかを確認し、それを引き起こしているかどうか疑問に思っています。ビジーウェイトになる。

参考までに、Web サイトの開発には Flask (python フレームワーク) を使用し、アクセスには chrome を使用しています。

サーバー送信イベントの仕様

4

1 に答える 1

3

あなたが提供したリンクによると、はい、ブラウザはGETをサーバー送信イベントの実装として送信します:

Server-Sent Events の実際のプロトコルは非常に単純です。クライアントはサーバーへの標準接続を開き、GET 要求を行います。サーバーがソケットを開いたままにし、data: を前に付けて新しいイベントを送信し、2 つの改行文字で終了することを期待しています。

したがって、サーバー側では、データがまだストリーミングされている間、接続は開いたままになるはずです。Server-Sent Events では自動再接続が可能であることに注意してください。そのため、再接続が頻繁に発生する場合 (クライアント側のコードが正しく記述されていない限り、再接続がすべて発生すると思います)、チェックして確認する必要があります。サーバー側が接続を閉じていないことを確認してください。これにより、ブラウザーは接続を再度開きます。

「ビジー ウェイト」については、私の理解が正しければ、心配する必要はありません。これはブラウザによって処理されるため、何かを待っている間にコードがブロックされることはありません。

于 2013-02-20T19:44:15.823 に答える