通过flask服务器流式传输实时连续的数据到vue前端(摆脱web套接字通信的延迟)。

问题描述 投票:0回答:0

我有一个基于Web的用户界面,使用 Vue.js (用vuex)在前端和 烧瓶 的后端。

我现在想做的是在这个Web-GUI中显示一些实时信息(刚开始只是一些键值对,以后最好是视频流等)。

在我的后台,我有一个Python脚本,它目前是 多线程在这个系统中,并行运行着一个带套接字的flask服务器和一个循环的监听器,它将收集这些实时数据。当我在这个监听器中打印数据时,似乎以正确的速度收到了数据,但从那里将数据发送到我的vue前端(使用web套接字)后,它变得慢了很多(甚至几秒钟就更新了那里的值)。

所以有这个主要的时间延迟,而且似乎有时数据会快一点,但偶尔我也会收到错误信息。[WDS] disconnected! 但我不知道这是否与这个问题有关,因为在该错误之前,数据已经缓慢地、阵阵地传来了)。然后会有一个更长时间的中断,没有数据,然后又会恢复到像以前一样缓慢地接收数据。

也许这个延迟可能和这里描述的问题相当。SocketIO传输数据的过程中,是以突发的方式而不是连续的方式进行的 他怎么能像帖子里的用户一样做日志记录,不管这个猴子补丁是什么,能不能对我的问题也有帮助呢?

现在我想知道问题可能是什么?"方式 "从源到长,因为我有监听器,然后websocket发出的数据,一个动作,得到的数据和突变保存到状态,并显示在我的vuex存储?然而,如果我省去最后一步,并没有改变行为。

也许是后端数据的传输速度太快了,所以会影响到事件的发送? 这有可能吗?如果是这样,是否有可能通过定义的间隔时间内的websocket,用最近的数据流从事件中发射,如果数据太快,就忽略中间的数据? 或者是否有一些选项或其他东西可以减慢websocket的发射速度?

在所有这些问题之后:我的设置是否适合这样的任务,还是从一开始就有问题?

先谢谢你

vue.js flask socket.io delay flask-socketio
© www.soinside.com 2019 - 2024. All rights reserved.