ティッカー アプリケーションに (クロムで) SSE を使用しようとしています。私が見つけた、または書いたすべてのサンプルで、接続が3〜4秒ごとに閉じられているようです。http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_sseで例を実行している場合でも
更新が 3 ~ 4 秒ごとに到着することがわかります。これは、サーバーの実装 (この例では「demo_sse.php」) によるものではなく、3 ~ 4 秒ごとに発生する再接続によるものです。
上記の例に次を追加すると:
source.onerror=function(event)
{
document.getElementById("result").innerHTML+=source.readyState+ "<br />";
};
readyState が 0 であることが明確にわかります。つまり、「接続がまだ確立されていないか、接続が閉じられており、ユーザー エージェントが再接続しています」という意味です。(公式の EventSorce API ドキュメントから取得)。
サーバー側のスクリプトも自分で書きました。コードは次のとおりです(python bottle Webフレームワークを使用)。
@route('/events')
def positions():
response.content_type = 'text/event-stream'
response.set_header('Cache-Control', 'no-cache')
now = datetime.datetime.now().time().replace(microsecond=0)
return "data: %s\n\n"%now
そして、私は同じことを取得します。3 ~ 4 秒ごとに再接続します。
私が興味を持っているのは、セッションを通じて接続がどのように維持されるかです。
助けてくれてありがとう、オマー。