Título: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: -Xenon- en 21 Diciembre 2005, 19:47 pm buscando la forma de hacer un test de velocidad usando vb, con un cliente en un pc, y el servidor en otro distinto he intentado esto: eso se mide kb por segundo, pues he probado a desde un cliente enviar una orden de que voy a empezar a enviarle "a"es muchas y todo el rato con un bucle que repita un senddata "a", sabiendo que un caracter ocupa un byte, en el servidor cuando confirma quele va a empezar a llegar las "a"es, pone un timer a 3 segundos, y a continuacion coge las "a"es asi: test = test + len(datos) de forma que cada vez, que reciba datos, se almacene el tamaño en la variable long "test" y cuando termine el timer en vie una señal al cliente para que deje de mandar "a"es, entonces el servidor coge la variable test y la divide para 3 segundos, en teoria dando asi los Bytes por segundo.... pero no me funciona... aun enviando la señal de que pare de enviar "a", debe de quedarse pillado, por que luego el programa se queda como que no responde, y para colmo alos 3 segundos me pone que la variable test solo pesa 4 bytes... lo estoy probando ahora mismo alguna idea o solucion? Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: jorson en 22 Diciembre 2005, 00:13 am yo pienso que seria mejor enviarle al servidor algun archivo de gran tamaño, y cuando acabe de recibirlo, dividir el tamaño del fichero entre el tiempo empleado.
lo de enviar byte a byte, aunque funcionase no se si seria muy fiable, por que cada vez que envia un paquete lo enviaria de 1 byte, de la otra forma envia paquetes mas grandes. Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: ....Gusto.... en 22 Diciembre 2005, 00:21 am mm la idea es hacerlo rapido :P
lo que estaba pensando es: un ping es un paquete de cuantos bytes? ya que digamos q vos sos 200.225.354.628 (ya c q no existe eh!) yo pongo en CMD ping 200.225.354.628 y al ratito me dice respuesta obtenida de ^^^^^^^^^^^^ retardo:500 ms paquetes: 0%perdido, 100%recibido. de esa manera, nop podriamos hacer un programa q haga lo mismo que el ping de windows solo que calcule un promedio entre los 4 valores q"recibe" mi pc y lo muestre en kbps?? saludos ! ;D Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: jorson en 22 Diciembre 2005, 00:36 am probe tu idea, pero como yo pensaba asi no se puede, miren:
Código:
Quiere decirse que envia 32 bytes en 154ms que calculando me salen: 0,03125 kbytes en 0,154 segundos, osea: 0,2029 KB/seg. Y no salen, pieso yo por que haciendo un ping, te indica el tiempo que tarda un paquete en ir y volver a la direccion. Supongo que los paquetes que se envian normalmente serán de mas tamaño, y que antes de tener respuesta del paquete enviado, ya se este enviando otro. Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: #Borracho.- en 22 Diciembre 2005, 13:54 pm Che lo que puedes hacer si es lo que entendi que vb ejecute comandos desde el programa pero con la consola de ms-dos
Salu2 P.D: No se si es lo que preguntaste... Código: Option Explicit Este es un ejemplo de como usar una shell para ejecutar comandos de consola... espero que te sirva... :rolleyes: Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: ....Gusto.... en 22 Diciembre 2005, 16:25 pm mm mi idea es hacer lo que hace el ping pero entre el cliente y el server, entonces mandar un paquete de 500 k x ej y ver cto tarda en ir y volver. me explico?
Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: NYlOn en 22 Diciembre 2005, 18:51 pm Lo q se hace desde DOS es eso, un ping.
Yo tengo uno echo pero todavia no lo probe... va lo prove en mi pc, pero no va a tardar mucho en responder xDDDD La q hace es, el cliente manda un paquete de 32bytes y las 1ras 4 lineas de ese paquete de datos dice PING, entonces cuando el servidor recibe datos que dicen PING en los primeros 4 caracteres, envia otro paquete de 32bytes con cabecera PONG (esto del PING y el PONG al principio del paquete es porke, en mi caso, utilizo el Socket para varias cosas, entocnes necesito identificar que es lo q llega). Y bueno, cuando se envia el paquete desde el cliente un timer empieza a contar y termina cuando llega el PONG. Despues ese resultado se puede dividir por 2, y nos daria cuanto tarda en llegar el paquete al cliente, y cuanto en volver. Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: jorson en 22 Diciembre 2005, 23:49 pm Sigo pensando que para medir la velocidad no se puede hacer usando ping, y menos usando paquetes de 32 bytes, aun como dice ...gusto... con paquetes de ping mas grandes, puede que funcionase mas o menos.
Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: ....Gusto.... en 23 Diciembre 2005, 03:06 am el tema es:
si tiene 56K o 128K es evidente mandar un mega, pero creo que 500k se pueden mandar. el otro drama es que si su isp bloquea pings o esas cosas, no se si existe.-.. salu2 ;D Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: -Xenon- en 23 Diciembre 2005, 13:10 pm descargando una pagina php que te mide la velocidad, he visto que el tamaño de los datos que envia son unos 125k, 129k, mas o menos, asi que con eso sobra, problemas? que el timer del VB no es 100% exacto, y para esto casi lo ideal es hacerlo en milisegundos, y como digo el timer del vb, no nos daria una medida fiable, ( creo yo ), asi que aun de todas formas lo probare con ese tamaño he intentando ajustar el timer al maximo, en breve ( uno o dos dias ) posteo el codigo y aver si funciona Título: Re: test de velocidad en vb ( saber los kbps usando vb ) Publicado por: jorson en 23 Diciembre 2005, 16:16 pm Puesto que la velocidad de tranferencia, no es estable nunca, y que el timer tampoco es 100% estable, para sacar unos datos lo mas fiables posibles, seria enviando un archivo grande. Cuanto mas grande mas fiable será, ya que se cogera una media de la velocidad que ha habido durante el proceso, y el timer tendra una impresicion menor, al ser mucho mas tiempo.
|