我正在尝试将 SSE(在 chrome 中)用于股票应用程序。似乎在我发现或编写的每个示例中,连接每 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 秒重新连接一次。
所以我感兴趣的是如何通过会话保持连接。
谢谢你的帮助,奥马尔。