代码之家  ›  专栏  ›  技术社区  ›  Audrius MeÅ¡kauskas

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

  •  0
  • Audrius MeÅ¡kauskas  · 技术社区  · 6 年前

    我有一个使用react redux framwork构建的复杂应用程序。在许多其他方面,它需要服务于MJPEG图像流。这个应用程序有多个标签(准确地说,是react标签),许多流只在一些标签上可见。当用户以足够快的速度操作应用程序时,视频流挂起,多个流在浏览器检查窗口中显示为“挂起”。许多挂起的流不再可见。

    流服务目前是通过react中的简单img标记实现的 render 方法:

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

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

    我还观察到(从服务器日志中)有些流被多次请求,即使页面上只有一个图像,而且它只被要求显示一次。这大大恶化了局势。如何提高react应用程序中图像流的可靠性?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Audrius MeÅ¡kauskas    6 年前

    浏览器具有每个服务器的连接数限制,并且不会显示太多来自同一服务器的视频流。如果某些视频不再可见,但应用程序或浏览器由于某种原因未能实现,并且连接一直处于打开状态,则也可能是这样。超出限制的视频将成为“待定”,进一步恶化了问题。

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

    推荐文章