如何提高服务器发送事件的速度

2024-06-09 18:36:30 发布

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

我在玩服务器发送的事件和烧瓶。设置非常基本。在客户机上:

...
<script>
var source = new EventSource("/stream");
source.onmessage = function(e) {
    console.log(e);
};
</script>
...

在服务器上我有:

^{pr2}$

一切正常,只是速度很慢。考虑到我的延迟time.sleep(.1),我预计在客户机上大约每秒看到10个事件。不过,每3秒只有一个事件。在

当我增加延迟说time.sleep(5)时,我每隔8秒就会收到一个事件,以此类推。所以看起来我在服务器和客户机之间有大约3秒的延迟,考虑到它们运行在同一台机器上,这很奇怪。在

我用来测试的浏览器是chromium,我从flask运行开发服务器。但古尼科恩也是如此。在

我做错什么了吗?有没有一种方法可以加速SSE?在


Tags: 服务器sourcenewstream客户机烧瓶timevar
1条回答
网友
1楼 · 发布于 2024-06-09 18:36:30

我自己发现的。我缺少events()函数中的循环。把它改成

def events():
    while True:
        yield "data: Test\n\n"
        time.sleep(.1)

解决了问题。在

相关问题 更多 >