2012-10-05 26 views
8

¿Alguien puede sugerir cómo manejar una red lenta cuando se está transmitiendo video en una vista web?Cómo verificar si la red es lenta/baja en la aplicación ios

Cuando la intensidad de la red es baja, aparece una pantalla en blanco o el video no se transmite.

¿Hay alguna manera de detectar esta condición para alertar al usuario? (Aparte de usar API privada.)

+1

Para eso está diseñado HLS, ¿no? Tienes que dar archivos a diferentes velocidades de bits. para que no tenga que detectar las condiciones de la red y automáticamente cambia las versiones a bajo b/w automáticamente. Funciona para la transmisión de aplicaciones web y de dispositivos. – av501

Respuesta

1

Quizás ifi_baudrate miembro de la estructura if_data (declarado en <net/if.h>) es lo que necesita. Si la tasa de baudios es menor que algún valor umbral, entonces puede mostrar una alerta. Por favor, vea la siguiente respuesta para saber cómo obtener la estructura if_data para una interfaz de red particular: https://stackoverflow.com/a/8014012/1310204

0

Puede detectar fácilmente el estado de la conexión de red a través del HTML5 redes API http://www.html5rocks.com/en/mobile/optimization-and-performance/#toc-network-detection

También si desea probar la velocidad de la red, simplemente configure algunos archivos en su servidor de un tamaño específico, y haga una solicitud de AJAX para el archivo, mientras mide el tiempo que lleva descargar.

Se puede utilizar un simple:

var start = new Date(); 

$.get("someFile.jpg") 
    .done(function() { 
       var elapsed = (new Date() - start); 
    }); 

O cavar en el rendimiento API HTML5:

http://www.html5rocks.com/en/tutorials/webperformance/basics/

... si no el uso de JavaScript, lo mismo se aplica. Simplemente abra una conexión de red con lo que esté a su disposición, descargue un pequeño archivo & haga los cálculos ;-)

Cuestiones relacionadas