如何用CGI+Python获取SSE最后一个事件ID

2024-09-30 22:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用服务器发送事件(SSE)将数据推送到前端。我可以通过研究它的RFChttps://www.w3.org/TR/2011/WD-eventsource-20111020/来实现它的大部分。唯一让我纠结的是如果SSE从错误的连接中重新连接。在

文档中说,当一个SSE连接重新连接时,它会将最后一个事件ID添加到头数据中。我不知道怎么从我的剧本中得到这个。在

我使用lighttpd作为web服务器,使用cgi运行脚本,使用python2.7作为脚本语言。在

我试着看书操作系统环境,但它不包含与SSE上次接收到的ID相关的任何内容

有人知道我怎样才能得到最后一个收到的活动id吗?在


Tags: 数据文档orgidwww错误事件tr
1条回答
网友
1楼 · 发布于 2024-09-30 22:23:02

我最终弄明白了,所以希望这对将来的任何人都有用。lastEventId在协议的后面以静默方式使用。因此,如果连接暂时中断,然后重新连接,则使用lastEventId。所有丢失的会话都将排队,并且只发送大于lastEventId的会话。但是,如果连接永久断开,或断开超过x分钟(取决于浏览器),则SSE连接将终止。不会发送lastEventId,因为它将被视为新连接。在

我可以通过将lastEventId附加到SSE的get请求来解决这个问题。所以。。。在

/var/www/SSE.py?lastEventId=100

相关问题 更多 >