Autor
|
Tema: test de velocidad en vb ( saber los kbps usando vb ) (Leído 9,107 veces)
|
-Xenon-
Desconectado
Mensajes: 502
Spectrum 128k
|
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?
|
|
|
En línea
|
Cuando el ingenio se queda pequeño, No basta con poner empeño, Solo el talento consigue el diseño
|
|
|
jorson
Desconectado
Mensajes: 58
|
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.
|
|
|
En línea
|
|
|
|
....Gusto....
Desconectado
Mensajes: 1.804
|
mm la idea es hacerlo rapido 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 !
|
|
|
En línea
|
.:.~GuStO~.:.
|
|
|
jorson
Desconectado
Mensajes: 58
|
probe tu idea, pero como yo pensaba asi no se puede, miren: Haciendo ping a www.l.google.com [216.239.37.104] con 32 bytes de datos:
Respuesta desde 216.239.37.104: bytes=32 tiempo=153ms TTL=244
Respuesta desde 216.239.37.104: bytes=32 tiempo=154ms TTL=243
Respuesta desde 216.239.37.104: bytes=32 tiempo=153ms TTL=244
Respuesta desde 216.239.37.104: bytes=32 tiempo=156ms TTL=243
Estad¡sticas de ping para 216.239.37.104:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos),
Tiempos aproximados de recorrido redondo en milisegundos:
m¡nimo = 153ms, m ximo = 156ms, promedio = 154ms
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.
|
|
|
En línea
|
|
|
|
#Borracho.-
Desconectado
Mensajes: 1.052
Negative!
|
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... Option Explicit
Sub cmdAccion_Click () 'Comprobar la etiqueta del volumen y mostrarla
Dim i As Integer Dim sUd As String Dim sProg As String Dim sFic As String Dim sTmp As String Dim Hallado As Integer Dim sVolumen As String Dim sNumSerie As String
Label1(3).Caption = "Procesando la información..." DoEvents
sUd = Trim$(Text1.Text) i = InStr(sUd, ":") If i = 0 Then MsgBox "Debes especificar una unidad de disco." Unload Me End End If sUd = Left$(sUd, i) sFic = sUd & "\Files.txt" 'Fichero para ejecutar el comando DIR sProg = sUd & "\~Files.bat" sUd = sUd & "\*.*"
i = FreeFile Open sProg For Output As i Print #i, "Dir " & sUd & " >" & sFic Close i
EjecutarPrograma sProg, "~Files" 'Ya ha finalizado... 'Abrir el archivo sFic ' If Len(Dir$(sFic)) Then 'Abrirlo i = FreeFile Open sFic For Input As i Do While Not EOF(i) Line Input #i, sTmp If InStr(sTmp, "volume") Then Hallado = True sVolumen = sTmp If Not EOF(i) Then Line Input #i, sNumSerie End If Exit Do End If Loop Close i If Hallado Then 'Obtener la etiqueta y el número de serie UltimaPalabra sVolumen UltimaPalabra sNumSerie If Len(sVolumen) = 0 Then sVolumen = "No tiene etiqueta de volumen?" End If If (Len(sNumSerie) = 0 Or InStr(sNumSerie, "-") = 0) Then sNumSerie = "No tiene número de serie?" End If Label1(3).Caption = sVolumen & " - " & sNumSerie Label2(0).Caption = sVolumen Label2(1).Caption = sNumSerie Else Label1(3).Caption = "No se encuentra la etiqueta del volumen..." End If Else MsgBox "No se ha podido crear el fichero: " & sFic End If 'Borrar los archivos If Len(Dir$(sProg)) Then Kill sProg End If If Len(Dir$(sFic)) Then Kill sFic End If Text1.SetFocus End Sub
Sub cmdSalir_Click () Unload Me End End Sub
Sub Form_Unload (Cancel As Integer) Set Form1 = Nothing End Sub
Sub UltimaPalabra (sFrase As String) 'De la cadena sFrase obtiene la última palabra 'Realmente lo que haya desde el último espacio
Dim i As Integer Dim sPalabra As String
'Buscar el último espacio sPalabra = "" 'Asegurarnos de no encontrar espacios al final de la cadena sFrase = Trim$(sFrase) For i = Len(sFrase) To 1 Step -1 If Mid$(sFrase, i, 1) = " " Then sPalabra = Mid$(sFrase, i + 1) Exit For End If Next sFrase = Trim$(sPalabra) End Sub Este es un ejemplo de como usar una shell para ejecutar comandos de consola... espero que te sirva...
|
|
|
En línea
|
Si nos quedamos en este mundo, que no sea con hambre...
|
|
|
....Gusto....
Desconectado
Mensajes: 1.804
|
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?
|
|
|
En línea
|
.:.~GuStO~.:.
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
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.
|
|
|
En línea
|
|
|
|
jorson
Desconectado
Mensajes: 58
|
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.
|
|
|
En línea
|
|
|
|
....Gusto....
Desconectado
Mensajes: 1.804
|
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
|
|
|
En línea
|
.:.~GuStO~.:.
|
|
|
-Xenon-
Desconectado
Mensajes: 502
Spectrum 128k
|
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
|
|
|
En línea
|
Cuando el ingenio se queda pequeño, No basta con poner empeño, Solo el talento consigue el diseño
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con velocidad de descarga (kbps)
Windows
|
Feedeex
|
7
|
5,744
|
21 Marzo 2011, 14:49 pm
por TheInfinityJoker
|
|
|
En lugar de cobrar el exceso de datos, Movistar reducirá la velocidad a 16 Kbps
Noticias
|
wolfbcn
|
1
|
1,891
|
18 Julio 2013, 13:50 pm
por crazykenny
|
|
|
Fast, el test de velocidad de Netflix que no te dirá tu velocidad real
Noticias
|
wolfbcn
|
0
|
3,063
|
19 Mayo 2016, 02:46 am
por wolfbcn
|
|
|
La velocidad que muestra el test de velocidad de Google no es real
Noticias
|
wolfbcn
|
0
|
1,709
|
30 Enero 2018, 14:37 pm
por wolfbcn
|
|
|
Por que en el movil ultimamente me da mas velocidad en el test de velocidad que en el ordenador?
Dispositivos Móviles (PDA's, Smartphones, Tablets)
|
win_7
|
7
|
9,546
|
9 Agosto 2021, 20:19 pm
por Danielㅤ
|
|