反应应用程序视频挂起,浏览器显示许多"pending"流



我有一个使用 react-redux framwework 构建的复杂应用程序。在许多其他事情中,它需要提供 MJPEG 图像流。该应用程序有多个选项卡(准确地说是反应选项卡(,并且许多流仅在某些选项卡上可见。当用户以足够快的速度操作应用程序时,视频流将挂起,浏览器检查窗口中的多个流显示为"挂起"。其中许多挂起的流不再可见。

当前,在reactrender方法中使用简单的 img 标签实现流服务:

<img src='http://a.b.file.jpg/>

我尝试使用 onLoad 和 onError 回调,但如果流在浏览器(开发人员工具窗口(中显示为"挂起",则不会调用这些回调。这是一种检测"挂起"状态并强制 - 重新加载图像或在最坏的情况下至少触发应用程序完全重新加载的方法?

我还观察到(从服务器日志中(某些流被多次请求,即使页面上只有一个图像,并且要求它只显示一次。这使情况大大恶化。可以做些什么来提高 react 应用程序中图像流的可靠性?

浏览器具有每个服务器的连接数限制,并且不会显示太多从同一服务器流式传输的视频。如果某些视频不再可见,但应用程序或浏览器由于某种原因未能实现并且连接保持打开状态,则也可能如此。超出限制的视频将变为"待处理",使问题进一步恶化。

平凡但有效的解决方案是在可能出现这些停滞的情况下从 JavaScript 重新加载页面。

相关内容

  • 没有找到相关文章

最新更新