¿Como medir la velocidad de la conexión a internet?
Publicado: 20 Sep 2011, 14:32
Hola
en este post:
http://www.emesn.com/autoitforum/viewto ... .au3#p5248
colgué hace tiempo una UDF que hice, con varias funciones. Una de ellas, calculaba la velocidad de la conexión a internet como hacen muchas webs. Pero aquella función era un poco incómoda de usar, pues había que hacer uso de un script en PHP que adjuntaba en la UDF, pero había que disponer de un servidor web, con soporte PHP, y que además no tuviera limitado el tráfico...
Así, que ahora quiero hacer esa función, pero mejor. Que no requiera de ese script, que calcule la velocidad de bajada, y a poder ser de subida de la conexión a internet.
He intentado hacerlo por la vía fácil, accediendo al servidor de alguna web de las muchas que hay que ofrecen este servicio, como si la función fuera el navegador y obtener el resultado, y extraerlo del HTML... Pero no es tan sencillo. En la mayoría de test de velocidad dicen que hay que tener flash, otros que no lo requieren están hechos medio con php y medio con javascript, otros tardan muchísimo en hacer el test...
Así, que he pensado hacerlo yo, sin usar ningún test de esos.
Por lo que he leído, y visto en las explicaciones de todos esos test sobre como funcionan, la idea es, descargar un mega de datos de un servidor, y calcular el tiempo que tardas en descargar ese mega, esa sería en líneas generales la forma de hacer el test de la velocidad de bajada si no estoy equivocado. Para hacer el test de subida, sería lo mismo, pero en vez de bajar un mega de datos, subirlo a un servidor (corregidme si me equivoco).
La duda que tengo, aunque creo que se la respuesta es, si tardaría lo mismo la función en recibir mil carácteres (1000 bytes) de uno en uno, que a la vez haciendo:
Diría que tardaría lo mismo. De hecho ¿Como tendría que hacerlo?. Lo mismo para la subida...
Sabiendo que la idea es transferir mil bytes, se me ocurre que no es necesario que sea un archivo binario, de sonido, imagen... bastará con que sean mil bytes, que pueden ser mil a's, o el código de una página web hasta mil carácteres ¿es así?.
Si es así, se me ocurre que puedo hacer el test de velocidad por ejemplo con Google, un servidor que funciona siempre y no tiene limitado el tráfico de bajada, ambas cosas garantizadas; por lo que el test daría buen resultado dentro de lo que cabe.
La idea es, descargar hasta mil carácteres del código de la web de Google y calcular el tiempo que tarda en hacerse la descarga. Luego ya, calcularlo en kbps, que es como suelen dar el resultado los test de velocidad.
¿Estaría bien así, o se os ocurre una forma mejor de hacerlo?.
Salu2!
en este post:
http://www.emesn.com/autoitforum/viewto ... .au3#p5248
colgué hace tiempo una UDF que hice, con varias funciones. Una de ellas, calculaba la velocidad de la conexión a internet como hacen muchas webs. Pero aquella función era un poco incómoda de usar, pues había que hacer uso de un script en PHP que adjuntaba en la UDF, pero había que disponer de un servidor web, con soporte PHP, y que además no tuviera limitado el tráfico...
Así, que ahora quiero hacer esa función, pero mejor. Que no requiera de ese script, que calcule la velocidad de bajada, y a poder ser de subida de la conexión a internet.
He intentado hacerlo por la vía fácil, accediendo al servidor de alguna web de las muchas que hay que ofrecen este servicio, como si la función fuera el navegador y obtener el resultado, y extraerlo del HTML... Pero no es tan sencillo. En la mayoría de test de velocidad dicen que hay que tener flash, otros que no lo requieren están hechos medio con php y medio con javascript, otros tardan muchísimo en hacer el test...
Así, que he pensado hacerlo yo, sin usar ningún test de esos.
Por lo que he leído, y visto en las explicaciones de todos esos test sobre como funcionan, la idea es, descargar un mega de datos de un servidor, y calcular el tiempo que tardas en descargar ese mega, esa sería en líneas generales la forma de hacer el test de la velocidad de bajada si no estoy equivocado. Para hacer el test de subida, sería lo mismo, pero en vez de bajar un mega de datos, subirlo a un servidor (corregidme si me equivoco).
La duda que tengo, aunque creo que se la respuesta es, si tardaría lo mismo la función en recibir mil carácteres (1000 bytes) de uno en uno, que a la vez haciendo:
Código: Seleccionar todo
TcpRecv($Shock, 1000)
Sabiendo que la idea es transferir mil bytes, se me ocurre que no es necesario que sea un archivo binario, de sonido, imagen... bastará con que sean mil bytes, que pueden ser mil a's, o el código de una página web hasta mil carácteres ¿es así?.
Si es así, se me ocurre que puedo hacer el test de velocidad por ejemplo con Google, un servidor que funciona siempre y no tiene limitado el tráfico de bajada, ambas cosas garantizadas; por lo que el test daría buen resultado dentro de lo que cabe.
La idea es, descargar hasta mil carácteres del código de la web de Google y calcular el tiempo que tarda en hacerse la descarga. Luego ya, calcularlo en kbps, que es como suelen dar el resultado los test de velocidad.
¿Estaría bien así, o se os ocurre una forma mejor de hacerlo?.
Salu2!