2016-07-21 14 views
0

私はフロントエンドにデータをプッシュするためにServer Sent Events(SSE)を使用しています。私はRFC https://www.w3.org/TR/2011/WD-eventsource-20111020/を調べるだけで、そのほとんどを実装できました。私が立ち往生している唯一の部分は、SSEが誤った接続から再接続する場合です。CGI + PythonでSSEの最後のイベントIDを取得する方法

SSE接続が再接続すると、Last-Event-IDがヘッダーデータに追加されます。私はスクリプトからこれをどうやって得るのか分かりません。

私はlighttpdを私のウェブサーバーとして使用しています。cgiはスクリプトを実行し、python 2.7はスクリプト言語として使用しています。

os.environを読み込もうとしましたが、最後に受信したSSE IDには何も含まれていません。

最後に受け取ったイベントIDはどのように取得できますか?

答えて

0

私はこのことを理解してしまったので、これは将来的には誰にでも役立つはずです。 lastEventIdは、プロトコルの後ろにサイレントで使用されます。そのため、接続が一時的に切断されてから再接続すると、lastEventIdが使用されます。欠落したSSEはすべてキューに入れられ、lastEventIdより大きいSSEだけが送信されます。ただし、接続が永続的に低下するか、またはx分より長く(ブラウザーに依存)低下すると、SSE接続は終了します。 lastEventIdは新しい接続と見なされるため送信されません。

SSEのGETリクエストにlastEventIdを追加することで、この問題を回避できました。だから...

/var/www/SSE.py?lastEventId=100 
関連する問題