¿Hay alguna utilidad para medir el ancho de banda de mi servidor al cliente o cualquier APIS.Need estándar de esta aplicación web paraservicio Banda de transmisión usando javascript
Respuesta
No sabe de cualquier utilidad o el API estándar, no, pero se puede Haga esto al tener varias imágenes de varios tamaños en su sitio web, y luego recuperándolas omitiendo el caché y viendo cuánto tardan en cargar. Esa información, junto con el tamaño de la imagen, le da una indicación de la velocidad entre los dos puntos finales.
El motivo por el que se utilizan varias imágenes es que se debe comenzar de forma pequeña (digamos, 20k), pero si la conexión es rápida, obtendrá un número muy inexacto; de modo que, según la velocidad con la que cargue esa imagen, querrá seleccionar otra imagen del tamaño adecuado para tratar de tener una mejor idea del ancho de banda real (a diferencia de la latencia que configura la conexión y demás).
Puede hacerlo solo con JavaScript directo, agregando img
etiquetas fuera de la página con una cadena de consulta única para omitir el almacenamiento en caché; pero como ha etiquetado su pregunta "jQuery", puede que le resulte más conveniente usar the .ajax function (con su configuración cache: false
) en su lugar.
El número de marcado rápido a subir con sólo una indicación, ya que otras cosas podrían ir en ese estropear su tiempo (la transmisión de vídeo en otra pestaña — o en otro ordenador conectado a la misma conexión a Internet, incluso otras cosas ralentizando la ejecución de su JavaScript, como una animación pesada de JS en la página), pero debería ser lo suficientemente bueno como para darle una idea de con qué está trabajando.
¿Estás midiendo gradualmente imágenes de diferentes tamaños? Hmmm, interesante ... eso debería eliminar un poco la incertidumbre. – Piskvor
@Piskvor: Sí. Quiero decir, siempre va a ser solo una * indicación * en lugar de una cifra precisa, pero ... :-) –
¿Seguirías sugiriendo el mismo enfoque ahora, en 2016 ... 6 años después: D quiero tener una prueba de velocidad en un subdominio de mi sitio web, ¿qué sugieres ahora? –
Necesitaba algo similar, así que escribí https://github.com/beradrian/jsbandwidth, una reescritura de https://code.google.com/p/jsbandwidth/.
La idea es hacer dos llamadas a través de Ajax, una para descargar y la otra para cargar a través de POST.
Debería funcionar tanto con jQuery.ajax
como con Angular $http
.
// Network connection - https://github.com/daniellmb/downlinkmax
var connectionSpeed = function()
{
// Deal with vendor prefixes
var defaultSpeed = false,
navigator = window.navigator,
connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection || null;
if(! connection)
return defaultSpeed;
// assume W3C Editor's Draft 09 October 2014
if('downlinkMax' in connection)
{
var downlinkMax = connection.downlinkMax;
if(! downlinkMax)
return defaultSpeed;
if(! isFinite(downlinkMax))
return defaultSpeed;
return downlinkMax;
}
// assume W3C Working Draft 29 November 2012
if('bandwidth' in connection)
{
var bandwidth = connection.bandwidth;
if(! bandwidth)
return defaultSpeed;
if(isNaN(speed))
return defaultSpeed;
// standardize connection.bandwidth value by converting megabytes per second (MB/s) to megabits per second (Mbit/s)
return bandwidth * 8;
}
// assume W3C Working Draft 07 June 2011
switch(connection.type)
{
// convert connection.type value to approximate downlink values
// speed estimate is based on the median downlink value for common devices in megabits per second (Mbit/s)
case 'none':
return 0;
case '2g':
return 0.134;
case 'bluetooth':
case 'cellular':
return 2;
case '3g':
return 8.95;
case '4g':
return 100;
case 'ethernet':
return 550;
case 'wifi':
return 600;
}
return defaultSpeed;
};
- 1. Costo efectivo con un ancho de banda para un servicio de transmisión
- 2. Transmisión de Android de Servicio a Actividad
- 3. ¿Puede un servicio web devolver una transmisión?
- 4. Transmisión de video usando C++
- 5. Transmisión de video usando Python
- 6. Consumir un servicio web usando Javascript
- 7. Uso eficiente del ancho de banda de memoria para la transmisión
- 8. Reproducir transmisión de video RTP usando Qt?
- 9. Transmisión de video usando RTSP: Android
- 10. Cálculo del ancho de banda
- 11. Transmisión UDP usando CFSocket en IOS
- 12. Transmisión en vivo usando el dispositivo Android
- 13. Vídeo HTML5: Detección de ancho de banda
- 14. frecuencia NAudio intensidad de la banda
- 15. Transmisión de cámara usando RTP de Android a PC
- 16. Control de un reproductor Flash usando JavaScript
- 17. Cargar archivos usando banda ancha móvil usando navegadores estándar (no desde el teléfono)
- 18. banda de fondo con dos colores?
- 19. Estrangulamiento del ancho de banda con netem?
- 20. Transmisión en vivo Tema
- 21. Recepción de transmisión UDP
- 22. usando javascript
- 23. ¿Cómo leer enteros elegantemente usando la transmisión en C++?
- 24. Limitación de membresía por ancho de banda
- 25. banda limitada generación de forma de onda
- 26. Uso del ancho de banda de memoria
- 27. gestión de ancho de banda con rieles?
- 28. JasperReport: propósito de la banda de detalles
- 29. Limite velocidades de ancho de banda
- 30. ¿Cómo podría reproducir una transmisión shoutcast/icecast usando HTML5?
Sí existe. Mira esto: http://speedof.me/api.html – advncd